为什么只有当我按下主页按钮并返回Android设备时才能清理内存?

时间:2012-06-27 09:52:14

标签: java android listview memory

我有listView和自定义ArrayAdapter。在我的列表中查看很多图片,我使用强大的内存清理:

@Override
public void onDestroy() {       
    list.clear();
    adapter.notifyDataSetChanged();
    listView.setAdapter(null);
    super.onDestroy();
}

使用LazyLoader加载图片。 但经过一段时间使用我的应用程序(当我更新列表时)我仍然会得到“位图大小超过预算”错误。虽然如果我按下主页按钮并返回应用程序内存被清除。没有它我怎么能清除记忆?

2 个答案:

答案 0 :(得分:1)

确保在所有不再使用的Bitmap对象上调用recycle()以尽快释放其内存。

另外,使用Bitmap.createScaledBitmap()创建一个与ImageView所需的一样小的位图,从而节省一些额外的内存。

答案 1 :(得分:0)

尝试阅读Loading Large Bitmaps。这有助于避免内存泄漏问题。