【问题标题】:How to handle outofmemory exception in android?如何处理android中的内存不足异常?
【发布时间】:2017-06-18 21:39:05
【问题描述】:

我查看了内存不足异常问题,但找不到解决问题的方法。我有一个处理图像的应用程序。我需要获取图像每个像素的 RGB 值。当我从whatsapp文件中选择图像时,我可以这样做,因为它们的尺寸很小,但是如果我想从图库中选择图像(通过相机拍摄)或者我想直接从相机中拍摄照片,我会遇到内存不足的异常。我不想缩小图像,因为我需要图像的所有像素信息。

我将图像的文件和名称信息作为字符串,当我解码字符串时出现此异常,如下所示;

imgDecodableString  = intent3.getStringExtra("BMP");
rotatedBitmap = BitmapFactory.decodeFile(imgDecodableString);

有什么办法可以解决这个问题吗? 提前致谢。

【问题讨论】:

标签: android image memory bitmap out-of-memory


【解决方案1】:

如果您在应用程序标记的清单文件中使用这行代码,Outofmemory 异常将解决试试这个。

android:largeHeap="true"

【讨论】:

    【解决方案2】:

    如果您不想缩小图像,可以使用BitmapRegionDecoder对图像的每个部分进行解码并处理位图,而不是对整个图像进行解码。

    【讨论】:

      【解决方案3】:

      您必须将可绘制图像的高分辨率转换为:drawable-xxhdpi。 并在应用标签内的 androidManifest.xml 上添加:android:largeHeap="true"

      我已经用这个方法解决了我的 OutOfMemory 问题

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-04-13
        • 1970-01-01
        • 2014-07-20
        • 2012-10-24
        • 2023-03-06
        • 1970-01-01
        • 2017-08-08
        • 2013-04-21
        相关资源
        最近更新 更多