关于Android中listView的复用及优化问题详解,应用开发者应多多使用,是app更顺畅,让用户更好体验!
2016-11-22 13:38
846 查看
当 convertView 为空时,用 setTag()方法为每个 View 绑定一个存放控件的 ViewHolder 对象。当 convertView 不为空,重复利用已经创建的 view 的时候, 使用 getTag()方法获取绑定的 ViewHolder 对象,这样就避免了 findViewById 对控件的层层查询,而是快速定位到控件。 ① 复用 ConvertView,使用历史的 view,提升效率 200% ② 自定义静态类 ViewHolder,减少 findViewById 的次数。提 升效率 50% ③ 异步加载数据,分页加载数据。 ④ 使用 WeakRefrence 引用 ImageView 对象
示例代码,实际开发中却对是比这个多得多
public class MyAdapter extends BaseAdapter{ @Override public int getCount() { return 30; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder; if(convertView==null){ convertView=View.inflate(parent.getContext(),R.layout.item_adapt,null); holder=new ViewHolder(); holder.tv_name= (TextView)convertView.findViewById(R.id.tv_name); convertView.setTag(holder); }else{ holder= (ViewHolder) convertView.getTag(); } holder.tv_name.setText("刘亦菲漂亮,同意举手"+position); return convertView; } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return 0; } static class ViewHolder{ private TextView tv_name; } }如果使用studio的同事们,这里也可以使用butterKnife ,更快更方便
相关文章推荐
- android app -- 关于listview的不复用,解决item状态改变的问题
- android app -- 关于listview的几种用法(复用,不复用,半复用)解决item状态改变的问题
- android app -- 关于listview的几种用法(复用,不复用,半复用)解决item状态改变的问题
- android app -- 关于listview的几种用法(复用,不复用,半复用)解决item状态改变的问题
- Android ListView适配器Adapter的使用,item的复用和ViewHolder优化
- 关于Android app首次安装完成后在安装界面直接“打开”应用再按home键返回桌面,重新进入app重复实例化launcher activity的问题的解决
- android 成长日记 3.关于Activity的用户体验提升办法和使用技巧说明
- 关于android-support-v7-appcompat.jar的使用的一些问题和解决方法
- 【Android】WindowManager类使用详解——用户首次打开APP的使用教学蒙板效果实现
- 关于Android app首次安装完成后在安装界面直接“打开”应用再按home键返回桌面,重新进入app重复实例化launcher activity的问题的解决
- Android ListView 使用HashMap解决复用问题
- 关于Android app首次安装完成后在安装界面直接“打开”应用再按home键返回桌面,重新进入app重复实例化launcher activity的问题的解决
- Android 使用简单又方便的SharedPreferences让导航页面只进入一次 , 提高用户对app的体验度
- iOS7 background fetch 实战详解:让app自动/智能获取数据以优化用户体验
- 关于Android app首次安装完成后在安装界面直接“打开”应用再按home键返回桌面,重新进入app重复实例化launcher activity的问题的解决
- android中关于listView复用时出现错乱问题
- 关于android的listview的数据解析和性能优化问题
- 关于Android app首次安装完成后在安装界面直接“打开”应用再按home键返回桌面,重新进入app重复实例化launcher activity的问题的解决
- 关于android Listview 使用时遇到的几个问题
- 【android学习】onSaveInstanceState使用详解-之解决问题:android程序崩溃后,app异常