获取位图并添加列表时,应用程序崩溃了

时间:2017-08-24 07:46:13

标签: android list bitmap drawable

我尝试从drawable获取图像并添加列表。但是在调试中它在我拍了几张照片(有时是20,22 ..)之后就停止了。它在调试屏幕中给出 SIGSEGV(信号SIGSEGV:无效地址(错误地址:0x430000))错误。 在logcat屏幕中,它提供 Throwing OutOfMemoryError“无法分配80409612字节分配16767792个空闲字节和72MB直到OOM” 我已经改变了照片的尺寸,但它仍然会崩溃。我该怎么办?

我拍摄了我的代码块:

for (int j = 0; j < imagesName.length; j++) {
        Drawable drawable = getResources().getDrawable(getResources().getIdentifier(imagesName[j], "drawable", getPackageName()));
        bitmaps.add(((BitmapDrawable) drawable).getBitmap());
    }

2 个答案:

答案 0 :(得分:0)

您可以在清单文件android中添加以下实体:hardwareAccelerated =&#34; false&#34; ,android:largeHeap =&#34; true&#34;它适用于某些环境。

<application
android:allowBackup="true"
android:hardwareAccelerated="false"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:largeHeap="true"
android:supportsRtl="true"
android:theme="@style/AppTheme">

答案 1 :(得分:0)

您可能需要使用inSampleSize来加载缩小的位图版本。请参阅此链接 https://stackoverflow.com/a/32121059/1107579

相关问题