分配的内存不断增加,没有减少1mb ... 看起来垃圾收集器根本没有被调用过。
我有主要活动有标签布局和4个片段(比如在Instagram上)以及我从服务器获得的很多位图。 一旦我从互联网上下载数据,我就会用来保存要调用的对象的ArrayList,如果再次调用该片段的话。 例如:
@Override
public void onPause() {
super.onPause();
if (itemsArray != null) {
savedListState = new Bundle();
savedListState.putSerializable("myKey", itemsArray);
}
}
@Override
public void onResume() {
super.onResume();
if (savedListState != null) {
customGridProfileAdapter = new CustomGridProfileAdapter(getActivity(), itemsArray);
gridView.setAdapter(customGridProfileAdapter);
savedListState = null;
}
}
我根本没有破坏观点。 我认为这是问题,但看起来并非如此,因为当我在活动之间切换时,它仍然以相同的方式工作,即使我破坏了被替换的活动的视图。 那么该怎么办?为什么垃圾收集器不会减少分配的内存? 如何保存已下载的项目?
答案 0 :(得分:1)
您的应用中可能存在内存泄漏。要了解有关内存泄漏的更多信息watch this wonderful video。根据我的经验,每个大而且使用其他api的应用程序都会遇到这个问题。