ホーム レイアウトに 2 つImageView
あり、そのコンテンツは、以下のコード スニペットに示すように、SD カードに配置された画像から取得されます。
try {
String tempPath1 = Environment.getExternalStorageDirectory()
+ File.separator + "Clipping_Pictures" + File.separator
+ "06-05-2013_02-06-09pm.png";
File f = new File(tempPath1);
Bitmap b = null, b2 = null;
b = BitmapFactory.decodeFile(f.getPath());
if (f.exists()) {
ivClip1.setImageBitmap(b);//ivClip1 is ImageView
}
tempPath1 = Environment.getExternalStorageDirectory()
+ File.separator + "Clipping_Pictures" + File.separator
+ "06-05-2013_02-06-33pm.png";
f = new File(tempPath1);
b2 = BitmapFactory.decodeFile(f.getPath());
if (f.exists()) {
ivClip2.setImageBitmap(b2);
}
} catch (Exception e) {
e.printStackTrace();
}
アプリを初めてロードすると、両方の画像がそれぞれのイメージビューに表示されます。しかし、2 回目の起動時に次の例外でアプリがクラッシュします:
OutOfMemoryError: ビットマップ サイズが VM の予算を超えています
2 つのリソース イメージは.pngで、サイズはそれぞれ ~850kb であることに注意してください。
SO とインターネットに同様のスレッドがあり、提案された解決策のいくつかを試しましたが、どれもうまくいかないようです。
どんな助けでも感謝します。