Adapter 中getView使用时需要判断convertView是否为null,若不为null则只需更新该view的数据及状态即可。若重新创建:1、速度慢,2、很快会耗尽内存(android内部可能会保持对该view的引用)
代码片断:
public class AppsAdapter extends BaseListAdapter {
public View getView(int position, View convertView, ViewGroup parent) {
String msg = (String)getItem(position);
iListLinear layout;
if(convertView==null){
//新建view
layout = new iListLinear(mcontext);
layout.CreateItems(width.length);
}else{
//使用原有的view
layout=(iListLinear)convertView;
}
layout.SetItemData(position, msg);
return layout;
}
...
}
本文介绍在Android开发中,如何在Adapter的getView方法中通过判断convertView是否为空来避免不必要的视图重建,从而提高列表滚动的流畅性和减少内存消耗。文中提供了一个具体的实现案例。
1万+

被折叠的 条评论
为什么被折叠?



