私は ExapndableListView を実装しました (そして、質問は ListView についてかなり一般的です)。
この単純化されたコード例を追加しました (他のビューがなくても問題は同じです)。
問題は、スクロールすると、理解できない割り当てがいくつかあることです。スクロール時に表示される最初の 10 ~ 20 個の新しいセル (およそ) には、3 ~ 4 MB +- の割り当てがあり、残りのセルでは、約 20 個のセルごとに 1 MB かかります。
私の知る限り、リストがロードされた後に何も割り当てるべきではなく、適切なセルを再利用するだけです。
public View getChildView(int groupPosition, int childPosition, boolean isLastChild,
View convertView, ViewGroup parent) {
EventListItem object = (EventListItem) sections.get(groupPosition)
.getItemAtIndex(childPosition);
ViewHolder holder;
if ( hView == null ) {
hView = mInflater.inflate(R.layout.popularity_row, null);
holder = new ViewHolder();
holder.title = (TextView) hView.findViewById(R.id.label);
convertView.setTag(holder);
}
else {
holder = (ViewHolder) hView.getTag();
}
holder.id = object.getId();
holder.title.setText(object.getTitle());
return convertView;
}
static class ViewHolder {
String id;
}
何が問題なのですか?スクロールすると何が割り当てられますか?
どうもありがとうございます。