Я реализовал просмотр разделенного списка, чтобы каждый раздел имел адаптер с использованием this guide и, вероятно, он заставляет просматривать виды снова и снова при прокрутке и повторном использовании, потому что есть разные адаптеры (но при прокрутке назад повторное использование, но для того же самого адаптера), и это метод GetView походит на это (упрощенный):Android ListView Memory Leak?
Map< String, ? > object = null;
String id = null, title = null, rating = null, pic_url = null;
object = sectionContent.get(position).getMap();
id = (String) object.get(EventRowValues.ROW_ID);
title = (String) object.get(EventRowValues.ROW_TITLE);
pic_url = (String) object.get(EventRowValues.ROW_PIC_URL);
View hView = convertView;
if (hView == null) {
hView = mInflater.inflate(R.layout.popularity_row, null);
ViewHolder holder = new ViewHolder();
holder.pic = (ImageView) hView.findViewById(R.id.icon);
holder.title = (TextView) hView.findViewById(R.id.label);
hView.setTag(holder);
}
final ViewHolder holder = (ViewHolder) hView.getTag();
holder.id = id;
mImageWorker.loadImage(pic_url, holder.pic);
holder.title.setText(title);
return hView;
метод LoadImage от this google example.
Проблема в том, что при прокрутке это занимает больше памяти, например, 2 МБ для 5-10 строк. Когда я прокручиваю назад, он не занимает больше памяти, но, насколько я знаю, он не должен выделять такие объемы памяти, потому что он повторно использует представления, поскольку я ожидаю, что он возьмет память только тогда, когда она загрузится, и когда я прокручу, чтобы использовать те же представления и растровые изображения из кеша (поскольку большая часть чертежей является одним и тем же объектом, возвращаемым из кеша).
В чем проблема? Любая другая опция для более умного многоразового секционированного спискаView?
Большое спасибо.
Ваша проблема решена моим решением? – Shrikant