【发布时间】:2012-04-16 21:00:22
【问题描述】:
Android APP 遇到内存不足的问题。
在挖掘和搜索内存泄漏之后,我发现 - 我认为 - 问题在于:
- 我的初始堆大小为 11 MB(已使用 98%)。
- 调用 CAMERA intent 后,堆大小增加到 34 MB,已使用 99.5%(很少崩溃导致 outOfMemory)。
- 在旋转屏幕或拍摄另一张照片后,我的应用程序开始运行 - 有时堆大小为 52 MB(使用 70%)并且经常因 OutOfMemory 崩溃。
我读了很多线程,有人想增加初始堆大小,但我也读到应该很快弃用它,这不是一个好主意,即使你不需要它也会增加内存使用量。 此外,我怎么知道我的应用程序需要多少堆内存?我仍然应该监控工作并以分钟的时间增加时间。一步?
我的问题是:处理堆大小和避免这种 outOfMemory 异常的最佳方法是什么?
我尝试了许多版本的代码,并且示例只用相机拍照,它总是一样的。仅供参考,这是贴出的代码
Take picture with android camera (intent) out of memory error
【问题讨论】:
-
您的原件收到了有效的答案,但您没有接受。如果您有内存泄漏,增加堆大小不会帮助您
标签: java android android-intent