Android OutOfMemoryError

示例

这是在堆上请求大量内存时发生的运行时错误。将位图加载到ImageView中时,这很常见。

您有一些选择:

  1. 使用大型应用程序堆

在您的AndroidManifest.xml中的应用程序标签中添加“ largeHeap”选项。这将为您的应用提供更多内存,但可能无法解决根本问题。

<application largeHeap="true" ... >

  1. 回收您的位图

加载位图后,请确保将其回收并释放内存:

    if (bitmap != null && !bitmap.isRecycled())
       bitmap.recycle();

  1. 将采样的位图加载到内存中

避免使用BitmapOptions和inSampleSize通过减小大小的采样一次将整个位图加载到内存中。

例如,请参阅Android文档