从Assets加载图像时Android内存不足

时间:2013-07-30 01:04:50

标签: android

我在尝试从Assest加载位图图像时面临outofmemory,下面是我的代码:

AssetManager assetManager = context.getAssets();

InputStream istr = assetManager.open(FILE_NAME);
bitmap = BitmapFactory.decodeStream(istr);

我正在加载图像时大部分时间都处于异常状态:

错误/ AndroidRuntime(731):java.lang.OutOfMemoryError:位图大小超过VM预算

我已经去了几篇关于在ImageView中管理图像大小的文章。但我的代码甚至没有达到这一点。

请帮助

2 个答案:

答案 0 :(得分:2)

我猜分辨率非常大。

您应首先读取尺寸,然后在将其加载到内存之前进行缩放。

的最佳做法

Loading Large Bitmaps Efficiently

答案 1 :(得分:0)

只需将以下代码添加到您的清单

即可
<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:largeHeap="true"
    android:theme="@style/AppTheme" />