从三大方面全面解析ListView优化

来源:互联网 发布:linux mtd是什么意思 编辑:程序博客网 时间:2024/05/17 03:38
ListView的应用很广泛,优化方案也不少,结合自己的工作经历,总结为如下三大方面:


一 条目显示:item的加载、显示及拖动
1.复用convertView---解决每次Inflate view时的资源消耗
2.viewHolder---解决每次findViewById的耗时操作
3.header\footer---解决头部和底部
4.设置不同item类型---解决头部大图和底部导航栏无法跟着滑动,占据显示区域的问题
5.setOnScrollListener--响应快速滑动操作


二 数据加载:分批加载、分页显示
1.分批加载---避免oom异常

2.分页显示---方便查阅

3.内存回收---LRU算法(最近最少使用)LinkedHashMap 硬引用 按照引用的时间顺序排列对象,内存不足时先删除栈底的。



三 数据改变:item的改变,item中局部控件的改变,图片的优化
1.notifyDataSetChanged---item增删
2.findViewWithTag----转对局部控件的改变
3.图片优化
原创粉丝点击