0

我遇到了一个 android 应用程序运行到 outOfMemory 的问题。

在挖掘和搜索内存泄漏之后,我发现 - 我认为 - 问题在于:

  • 我的初始堆大小为 11 MB(已使用 98%)。
  • 调用 CAMERA 意图后,堆大小增加到 34 MB,已使用 99.5%(很少崩溃导致 outOfMemory)。
  • 旋转屏幕或拍摄另一张照片后,我的应用程序运行 - 有时堆大小为 52 MB(使用 70%)并且经常因 OutOfMemory 崩溃。

我读了很多线程,有人想增加初始堆大小,但我也读到应该很快弃用它,这不是一个好主意,即使你不需要它也会增加内存使用量。此外,我怎么知道我的应用程序需要多少堆内存?我仍然应该监控工作并以分钟的时间增加时间。步?

我的问题是:处理堆大小和避免这种 outOfMemory 异常的最佳方法是什么?

我尝试了许多版本的代码,并且样本只用相机拍照,它总是一样的。仅供参考,这是发布的代码

用安卓相机拍照(意图)内存不足错误

4

1 回答 1

3

您只需要浏览官方 android 开发者网站上发布的新文章Displaying Bitmaps ..他们几天前刚刚发布了这篇文章。

那篇文章肯定会帮助你解决你的问题。

于 2012-04-16T13:00:22.720 回答