我有一个活动在图片视图中显示一个图片,如果我回去,并再次使用此消息转到活动应用程序崩溃:
01-08 00:17:18.089: E/AndroidRuntime(12547): FATAL EXCEPTION: main
01-08 00:17:18.089: E/AndroidRuntime(12547): java.lang.OutOfMemoryError
01-08 00:17:18.089: E/AndroidRuntime(12547): at android.graphics.BitmapFactory.nativeDecodeStream(Native Method)
01-08 00:17:18.089: E/AndroidRuntime(12547): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:493)
01-08 00:17:18.089: E/AndroidRuntime(12547): at android.graphics.BitmapFactory.decodeFile(BitmapFactory.java:299)
01-08 00:17:18.089: E/AndroidRuntime(12547): at android.graphics.BitmapFactory.decodeFile(BitmapFactory.java:324)
01-08 00:17:18.089: E/AndroidRuntime(12547): at com.rbrlnx.lugares.mostrarLugar.onCreate(mostrarLugar.java:74)
活动就是这个
sFoto=obtainsRealPath(Uri.parse(foto));
Bitmap bitmap = BitmapFactory.decodeFile(sFoto);
ImageView iLugar = (ImageView) findViewById(R.id.iDelLugar);
iLugar.setImageBitmap(bitmap);
只有一张图片,为什么会失去记忆?
答案 0 :(得分:0)
请尝试使用ImageView.setImageURI():
ImageView iLugar = (ImageView) findViewById(R.id.iDelLugar);
iLugar.setImageURI(Uri.parse(foto));
如果这不能解决问题,那么图像太大了。
读入内存的位图比占用磁盘的原始位占用的空间要多得多。如果您不需要对Bitmap数据执行任何操作,只需将imageView Uri(路径)传递给文件就更有效了。