目前我知道的方式有:
局部刷新listview,也就是手动调用listview的getview方法
用tag标识当前图片的url,如果判断新的数据和老的数据一样,就不进行刷新
启动线程来做耗时的操作,比如加载图片,先用空白图片留空
在初始化时初始监听器对象,不重复创建listener
在item中避免用widget做,减少计算
避免item中采用复杂布局,如果遇到很复杂的建议将一个item分开做
目前我知道的方式有:
局部刷新listview,也就是手动调用listview的getview方法
用tag标识当前图片的url,如果判断新的数据和老的数据一样,就不进行刷新
启动线程来做耗时的操作,比如加载图片,先用空白图片留空
在初始化时初始监听器对象,不重复创建listener
在item中避免用widget做,减少计算
避免item中采用复杂布局,如果遇到很复杂的建议将一个item分开做
2 回答1.3k 阅读✓ 已解决
2 回答2.7k 阅读
4 回答883 阅读
1 回答2.8k 阅读
1 回答2.3k 阅读
2 回答1.8k 阅读
2 回答1.7k 阅读
常规就是你讲的这些了.
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