out-of-memory相关内容

使用大图时如何使用 JNI 位图操作来帮助避免 OOM?

背景 大多数情况下,在 android 上出现 OOM 是由于使用了太多位图和/或创建了大位图. 最近我决定尝试 JNI,以便通过将数据本身存储在 JNI 端来避免 OOM. 在使用 JNI 一段时间后,我在 SO 上创建了一些帖子以寻求帮助和分享我的知识,现在我决定与您分享更多代码.这里是帖子,以防有人有兴趣阅读调查结果或做出贡献: 如何将位图缓存到本机内存中 在 ..

android MapView 总是在嵌套元素中导致 OutOfMemoryError

我正在尝试在一些嵌套元素中创建一个 MapView(目前没有任何叠加层).它基本上类似于 ScrollView ->相对布局 ->相对布局 ->地图视图 对我来说似乎很好.我在启动时没有做任何其他事情,但它总是会导致以下情况: 04-04 13:38:33.910: WARN/dalvikvm(13628): threadid=1: 线程退出时出现未捕获的异常 (group=0x4001 ..
发布时间:2021-11-27 19:34:27 移动开发

将资源加载到可变位图

我正在从这样的资源加载位图: 位图 mBackground = BitmapFactory.decodeResource(res,R.drawable.image); 我想要做的是在位图在我的 draw 方法中被绘制到主画布之前对其进行一些更改(因为在我的主循环中重复大量绘制似乎是浪费时间它不会改变).我正在对位图进行以下更改: Canvas c = new Canvas(mBackgro ..
发布时间:2021-11-27 15:38:09 移动开发

BitmapFactory OOM 快把我逼疯了

我已经做了很多搜索,我认识很多其他人BitmapFactory 遇到了同样的 OOM 内存问题.我的应用程序使用 Runtime.getRuntime 仅显示 4MB 的总可用内存().totalMemory().如果限制是 16MB,那么为什么总数不是内存增长为位图腾出空间?相反,它会引发错误. 我也不明白如果我有 1.6MB 的空闲内存到 Runtime.getRuntime().fre ..
发布时间:2021-11-27 14:51:46 移动开发

将图像加载到位图对象时出现奇怪的 OutOfMemory 问题

我有一个 ListView,每行有几个图像按钮.当用户单击列表行时,它会启动一个新活动.由于相机布局问题,我不得不构建自己的选项卡.为结果启动的活动是地图.如果我点击我的按钮启动图像预览(从 SD 卡加载图像),应用程序从活动返回到 ListView 活动到结果处理程序以重新启动我的新活动,这没什么不仅仅是一个图像小部件. ListView 上的图像预览是通过光标和 ListAdapter ..
发布时间:2021-11-27 12:23:29 移动开发

Python - 如何流式传输要分解的大型(11 GB)JSON 文件

我有一个非常大的 JSON (11 gb) 文件,它太大而无法读入我的内存.我想把它分解成更小的文件来分析数据.我目前正在使用 Python 和 Pandas 进行分析,我想知道是否有某种方法可以访问文件的块,以便可以在不使程序崩溃的情况下将其读入内存.理想情况下,我想将多年的数据分解为跨度约为一周的较小的可管理文件,但是没有固定的数据大小,尽管如果它们是设定的间隔并没有那么重要. 这里是数 ..
发布时间:2021-11-27 12:02:00 Python

如何将交换添加到 EC2 实例?

我目前正在运行一个 ec2 微型实例,我发现该实例偶尔会耗尽内存. 除了使用更大的实例大小,还能做什么? 解决方案 解决此问题的方法是向实例添加swap(即paging)空间. 分页的工作原理是在您的硬盘驱动器上创建一个区域并将其用作额外的内存,此内存比普通内存慢得多,但可用的内存要多得多. 要将此额外空间添加到您的实例中,请键入: sudo/bin/dd if=/de ..
发布时间:2021-11-27 09:34:10 其他开发

读取大 TXT 文件,内存不足异常

我想读取 500 MB 的大 TXT 文件,首先我使用 var file = new StreamReader(_filePath).ReadToEnd();var lines = file.Split(new[] { '\n' }); 但它抛出内存异常然后我尝试逐行读取但在读取大约 150 万行后再次抛出内存异常 using (StreamReader r = new StreamRea ..
发布时间:2021-11-26 10:38:28 C#/.NET

视频文件加密?

我正在使用这种方法来加密视频文件: public static void encryptToBinaryFile(String password, byte[] bytes, File file) 抛出 EncrypterException {尝试 {最终字节[] rawKey = getRawKey(password.getBytes());最终 FileOutputStream ostrea ..
发布时间:2021-11-25 20:36:27 Java开发

JVM 能否在不重启的情况下从 OutOfMemoryError 中恢复

如果 JVM 有机会在更多对象分配请求到来之前运行 GC,是否可以在不重启的情况下从 OutOfMemoryError 中恢复? 各种 JVM 实现在这方面是否有所不同? 我的问题是关于 JVM 的恢复,而不是用户程序试图通过捕获错误来恢复.换句话说,如果在应用服务器 (jboss/websphere/..) 中抛出一个 OOME,我是否必须重新启动它?或者,如果进一步的请求似乎没有问 ..
发布时间:2021-11-25 20:04:25 Java开发

是否可以在java中捕获内存不足异常?

我正在开发一个需要大量内存的程序,我想在发生内存不足异常时进行捕获.我听说这是不可能的,但很好奇这方面是否有任何进展. 解决方案 这也不例外;这是一个错误:java.lang.OutOfMemoryError 当它从 Throwable 下降时,您可以抓住它: 尝试{//在这里创建很多对象并将它们藏在某个地方} catch (OutOfMemoryError E) {//释放上面的 ..
发布时间:2021-11-25 17:52:38 Java开发

位图大小超过 Vm 预算错误 android

当我切换到横向模式时,很少有对象是用全屏位图创建的. 当我滚动另一个对象被调用并显示它的位图时,当我重复执行此操作时,位图大小超过vm预算错误,我已经完成了诸如recycle()之类的所有事情,设置为null,然后调用GC(),还是出现同样的错误.正在创建位图.... bitmap = Bitmap.createBitmap(ChartProperties.getChartWidth() ..
发布时间:2021-11-25 17:34:20 Java开发

什么是 OutOfMemoryError 以及如何调试和修复它

我的 Java 程序抛出了 OutOfMemoryError.我该如何调试和解决这个问题? 许多 Java 新手都在努力应对 OutOfMemoryError.这是尝试创建一个规范问题,以回答有关 OutOfMemoryError 的最常见问题.我正在创建这个新问题,而不是调整之前关于 OutOfMemoryError 的众多问题之一,因为这些问题及其答案与一个人遇到的特定问题紧密相关. ..
发布时间:2021-11-25 13:09:53 Java开发

java.lang.OutOfMemoryError:Java 堆空间

我在执行多线程程序时遇到以下错误 java.lang.OutOfMemoryError:Java 堆空间 上述错误发生在其中一个线程中. 据我所知,堆空间只被实例变量占用.如果这是正确的,那么为什么在运行良好一段时间后会发生此错误,因为在创建对象时分配了实例变量的空间. 有没有办法增加堆空间? 我应该对我的程序进行哪些更改以使其占用更少的堆空间? 解决方案 如果你想增 ..
发布时间:2021-11-25 12:48:03 Java开发

捕获 java.lang.OutOfMemoryError?

文档 java.lang.Error 说: 一个 Error 是 Throwable 的一个子类,它表示一个合理的应用程序不应该试图捕捉的严重问题 但由于 java.lang.Error 是 java.lang.Throwable 的子类,我可以捕获这种类型的 Throwable. 我理解为什么捕捉这种异常不是一个好主意.据我了解,如果我们决定捕获它,则捕获处理程序不应自行分配任 ..
发布时间:2021-11-25 12:29:46 Java开发

错误 java.lang.OutOfMemoryError:超出 GC 开销限制

我在执行 JUnit 测试时收到此错误消息: java.lang.OutOfMemoryError:超出GC开销限制 我知道 OutOfMemoryError 是什么,但是 GC 开销限制是什么意思?我该如何解决这个问题? 解决方案 此消息意味着由于某种原因垃圾收集器占用了过多的时间(默认情况下占进程所有 CPU 时间的 98%)并且恢复得很慢每次运行的内存很少(默认为堆的 2%). ..
发布时间:2021-11-25 10:29:23 Java开发

如何处理“java.lang.OutOfMemoryError: Java heap space"错误?

我正在Java 5 上编写客户端Swing 应用程序(图形字体设计器).最近,我遇到了 java.lang.OutOfMemoryError: Java heap space 错误,因为我对内存使用并不保守.用户可以打开无限数量的文件,程序将打开的对象保存在内存中.经过快速研究,我发现 5.0 Java 虚拟机中的人体工程学和其他人说在 Windows 机器上 JVM 默认最大堆大小为 64MB. ..
发布时间:2021-11-25 10:27:15 Java开发

什么是 StackOverflowError?

什么是StackOverflowError,是什么导致的,我应该如何处理? 解决方案 参数和局部变量分配在栈上(引用类型,对象存在于堆> 和堆栈中的变量引用堆上的该对象).堆栈通常位于地址空间的上端,当它用完时,它会朝向地址空间的底部(即朝向零). 您的流程还有一个堆,它位于流程的底部.当你分配内存时,这个堆可以向你的地址空间的上端增长.如您所见,堆有可能与堆“碰撞"(有点像构造板块 ..
发布时间:2021-11-25 10:13:27 Java开发