ListView优化
来源:互联网 发布:μcos ii源码v2.86 编辑:程序博客网 时间:2024/05/17 07:16
当我们有大量的内容的时候用listView将其显示出来,是很方便的。用listView就必须会用到适配器,我们平常会较多的用到继承自BaseAdapter写一个自己的Adapter。而其中最主要需要实现的方法是getView()。写getView我们一般会有以下三种方法:
//第一种方法:public View getView(int i, View convertView, ViewGroup viewGroup) { convertView = inflater.inflate(R.layout.item_list, null); TextView tv = convertView.findViewById(R.id.text); tv.setText("aa"); return convertView;}//第二种方法:public View getView(int i, View convertView, ViewGroup viewGroup) { if(convertView == null){ convertView = inflater.inflate(R.layout.item_list, null); } TextView tv = convertView.findViewById(R.id.text); tv.setText("aa"); return convertView;}//第三种方法@Override public View getView(int i, View view, ViewGroup viewGroup) { ViewHolder holder; if(view == null){ view = inflater.inflate(R.layout.item_list, null); holder = new ViewHolder(); holder.textView = (TextView) view.findViewById(R.id.tv_item); view.setTag(holder); }else{ holder = (ViewHolder) view.getTag(); } holder.textView.setText(list.get(i)); if(list.get(i).equals("5")){ holder.textView.setBackgroundColor(Color.RED); }else { holder.textView.setBackgroundColor(Color.BLUE); } return view; } public class ViewHolder{ public TextView textView; }
谷歌官方对以上三种方法的执行效率做了比较,他们的效率比分别是:4 : 10 : 11,所以平常用的时候还是用第三种方法比较好。而且如果想要有更好的优化,有item中存在图片的时候,可以对图片进行优化:
1.对图片进行边界处理,
2.进行三级缓存——内存、本地、网络。常用的有LruCache并添加线程池。如果懒得写这些也可以去网络上找一些开源的框架,比如UniversalImageLoader。
3.对滑动进行监听:当快速和慢速滑动的时候不进行任何加载,只是默认显示一个本地的图片,当滑动停止的时候开始加载这一屏幕的所有图片。
如果把以上的几点做到的话,还是可以起到很好的优化作用的。
0 0
- ListView优化
- listView优化
- ListView优化
- ListView优化
- ListView优化
- ListView优化
- listView优化
- listview 优化
- ListView优化
- listView优化
- ListView 优化
- ListVIew优化
- ListView优化
- ListView优化
- listview优化
- Listview 优化
- ListView优化
- ListView 优化
- booking各地联系方式
- UVa 11178 Morley's Theorem
- JS-验证码倒计时
- 乐乐的部分面试题总结1
- [读书笔记] 深入探索C++对象模型-第四章-Function语义学(中续)
- ListView优化
- 多进程手游流程分析
- 人体呼吸信号的数据挖掘
- 路由器局域网IP(内网IP)和外网IP的关系
- Android Drawable 那些不为人知的高效用法
- M101P: MongoDB for Developers - Final Exam
- 我的第一篇博客——自写MyLinkedList类
- 《精通javascript》里的一些函数(二)
- pip 安装 psycopg2 遇到的Command "python setup.py egg_info" failed