【发布时间】:2012-06-02 23:12:51
【问题描述】:
我有一个用户评论说,在我的应用中查看一堆图像后,它崩溃了(他认为这是由于内存不足错误)。我有以下相关代码:
int themeID = mNav[mPos];
String icon = getThemeData(DbAdapter.KEY_ICON, themeID);
ImageView viewer = (ImageView)findViewById(R.id.viewer);
Bitmap bMap = null;
try {
bMap = getJPG(icon + ".jpg");
} catch (IOException e) {
e.printStackTrace();
}
viewer.setImageBitmap(bMap);
当用户在图像之间翻转时,它会重新运行。从here 我看到你应该在位图上调用recycle()。设置图像后是否需要在 bMap 上调用它?或者有什么方法可以在设置下一个之前从 viwer 中提取它?
根据回收的文档(如果我在 bMap 上调用它)看来我不需要使用它:这是一个高级调用,通常不需要调用,因为正常的 GC 过程会释放它没有更多对该位图的引用时的内存。
【问题讨论】: