我尝试从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());
}
答案 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