我有一個小部件,它打開一個Fragment,顯示他們的圖片的聯繫人列表。這個片段消耗了大量的內存。在離開片段,記憶依然分配...爲什麼onDestroyView()不釋放我的記憶
public class ListFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle bundle) {
List<Contact> contacts = ContactHandler.getByGroup(group);
View view = inflater.inflate(R.layout.contact_list_fragment, container, false);
ListView listView = (ListView) view.findViewById(R.id.contact_list);
listView.setAdapter(new ContactAdapter(getActivity(), contacts));
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> a, View v, int position, long id) {
...
}
});
return view;
}
@Override
public void onDestroyView() {
super.onDestroyView();
}
}
更新: 我想通了,那剩下的內存大小是相等的,如果不管我用的片段添加或不添加適配器。所以這不是我的listview實現。但是對於一個空的片段來說,> 20MB似乎對我來說很重要。
我該如何告訴活動和片段以釋放他們的記憶?
順便說一下,你的'onDestroyView()'的實現是完全沒有意義的。 –