我想保存在SD卡中的位图图像,我能够保存它,但有一段时间我的活动因为低内存死亡。保存大块位图图像
所以我可以保存图像块,而不是保存在字节数组的形式。
我的代码如下所示:
try {
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
b.compress(Bitmap.CompressFormat.JPEG, 40, bytes);
File f = new File(Environment.getExternalStorageDirectory() + File.separator + "temp.jpg");
if (f.exists()) {
f.delete();
}
f.createNewFile();
FileOutputStream fo = new FileOutputStream(f);
fo.write(bytes.toByteArray());
fo.flush();
fo.close();
} catch (Exception e) {
e.printStackTrace();
}
是否显示任何错误,如果是的话,请发表您的logcat的。 – GrIsHu 2013-03-22 04:16:45
没有Grishu,它只是杀死活动,并在活动堆栈中下来活动。我已经在更多内存的设备上尝试过这种方式,它工作正常,所以我得出结论认为它是内存问题。 – Dhrupal 2013-03-22 04:20:37
结帐我的答案,并尝试使用它,当然它会帮助你。 – GrIsHu 2013-03-22 04:36:29