性能优化 - 在Android中优化listview有什么牛逼的方案么?
巴扎黑
巴扎黑 2017-04-17 14:22:35
[Android讨论组]

目前我知道的方式有:

  1. 局部刷新listview,也就是手动调用listview的getview方法

  2. 用tag标识当前图片的url,如果判断新的数据和老的数据一样,就不进行刷新

  3. 启动线程来做耗时的操作,比如加载图片,先用空白图片留空

  4. 在初始化时初始监听器对象,不重复创建listener

  5. 在item中避免用widget做,减少计算

  6. 避免item中采用复杂布局,如果遇到很复杂的建议将一个item分开做

巴扎黑
巴扎黑

全部回复(3)
怪我咯

常规就是你讲的这些了.

Facebook有个拆分item的方案(大概就是你说的6)

自备梯子
https://code.facebook.com/posts/879498888759525/fast-rendering-news-feed-on-android/

没梯子可以看这个
http://blog.aaapei.com/article/2015/02/facebookxin-wen-ye-listviewyou-hua

Instagram有个预渲染的文本的方案

http://instagram-engineering.tumblr.com/post/114508858967/improving-comment-rendering-on-android

黄舟

高速滑动时不加载图片。
图片文件的磁盘缓存。
图片文件的内存弱引用缓存。
图片对象的内存弱引用缓存。
图片的淡入加载。
ListView没什么牛逼的。

伊谢尔伦

可以直接使用RecyclerView,RecyclerView提供了原生的局部刷新功能

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号