小编Mir*_*ski的帖子

Android 5 中的图像内存不足

我的应用程序从网络加载大量图像并通过BitmapFactory.decodeByteArray. 但是当应用程序被解码时,许多图像会抛出错误java.lang.OutOfMemoryError。所以,在我设置的标志inPurgeable = trueBitmapFactory.Options这种错误绝不会打扰我。

在 Android 5BitmapFactory.Options.inPurgeable中不推荐使用该字段,并java.lang.OutOfMemoryError在解码大量图像后再次抛出。

我应该在 Android 5 中使用什么来避免此错误?

编辑:

我的代码:

BitmapFactory.Options options = new BitmapFactory.Options();
options.inPurgeable = true;
bitmap = BitmapFactory.decodeByteArray(buffer.toByteArray(), 0, buffer.length(), options);
Run Code Online (Sandbox Code Playgroud)

这一切。这在 Android 4 或更低版本上运行良好。

Android 5 上的堆栈跟踪:

    11-24 22:40:06.738: E/AndroidRuntime(19216): FATAL EXCEPTION: AsyncTask #3
    11-24 22:40:06.738: E/AndroidRuntime(19216): java.lang.RuntimeException: An error occured while executing doInBackground()
    11-24 22:40:06.738: E/AndroidRuntime(19216):    at android.os.AsyncTask$3.done(AsyncTask.java:300)
    11-24 22:40:06.738: E/AndroidRuntime(19216):    at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
    11-24 22:40:06.738: E/AndroidRuntime(19216):    at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
    11-24 22:40:06.738: …
Run Code Online (Sandbox Code Playgroud)

java android image-processing out-of-memory

5
推荐指数
1
解决办法
4311
查看次数

标签 统计

android ×1

image-processing ×1

java ×1

out-of-memory ×1