Listview的优化
来源:互联网 发布:js正则表达式邮箱验证 编辑:程序博客网 时间:2024/06/06 19:25
在适配器中,getview()中:
1.复用convertView
2.使用ViewHolder
3.Item布局层级越少越好,使用hierarchyview工具查看优化
(一般要求渲染绘制的时间在16ms内,保证画面流畅的感觉。每个view都要经历onMeasure()(尺寸),onLayout()(位置),onDraw()的过程。所有view的这三者时间相加就是总的时间。
以下是三点要注意的:
1.measure会从最顶部的view开始,子view向父view提供自己的尺寸以决定自己的位置,如果遇到了冲突,那么父view会要求子view重新measure,这就会消耗比一次measure多两三倍的时间。这也是为什么扁平话结构比较好的原因,它可以避免这类问题的产生。
2.Remeasure不只发生在以上情形,RelativeLayout通常需要measure所有子节点两次才能把子节点合理的布局,LinearLayout如果设置了layout_weight属性,也需要measure两次,RelativeLayout和LinearLayout如果嵌套使用,measure花费的时间可能会以指数级的增加
3.并不是只有用户看到的view才被渲染,而是拥有的所用的view都会被渲染,所以我们要尽量移除不需要渲染的view
4.item中有图片的时候使用异步加载
5.item中的图片进行适当的压缩
5.快速滑动的时候不加载图片
6.数据多时实现分页加载
0 0
- ListView的优化
- listView的优化
- ListView的优化
- Listview的优化
- listView的优化
- ListView的优化
- ListView的优化
- listview的优化
- ListView的优化(1)
- ListView的优化(2)
- ListView的优化(3)
- ListView的优化
- listView的优化
- Listview的优化
- 关于listview的优化
- ListView的优化
- ListView的优化
- ListView的优化
- oracle中创建主键以及添加主键
- POJ 1475 Pushing Boxes(BFS)
- Deep Residual Learning for Image Recognition(ResNet)论文笔记
- Gson的简单用法
- 求最大公约数——辗转相除法,更相减损术
- Listview的优化
- 通过自定义Gradle插件修改编译后的class文件
- spring 源码下载地址
- SHOW DATABASES;回车后数据库不全与Access denied ERROR
- test
- swiper的基础使用(十四)
- shell if语句
- (转)Android 命名规范 (提高代码可以读性)
- C++运算符重载++,--