Android ListView复杂列表优化实践
原文: Android ListView复杂列表优化实践 很多社交App都不免会涉及到复杂的列表元素实现,一个列表上面可能大量的图片,不定长的评论列表,给手机端的程序员带来了不少的挑战。本文就是在实现复杂的列表滑动的情况下,利用已知的优化方法指导下的一次优化实践,旨在提升ListView的滑动流畅度,为用户带来良好的体验。 1:设计稿: 这是列表中可能出现的ItemView,有两种,但是又有许多相同的地方,比如一样有点赞的图片,评论等...其中,评论和点赞的数量是 可变的 。 2:使用一般布局带来的问题? 头像表格:如果使用自带的布局LinearLayout和ImageView来完成,会导致布局比较深,而且大量的addView操作会导致列表滑动的时候卡顿。 评论列表:和头像表格一样,由于Item的数量是会变化的,会带上和头像表格同样的问题。 大量图片加载: 不难看出图片的数量是可观的,由于每次请求回来的内容可能有很多条,如果数据一回来就请求里面带的全部图片链接,即使使用了线程池,也会占用cpu比较长的一段时间,因此也会带来界面的不流畅问题。 3:指导优化思路: (1): ViewHolder模式, 重用View和减少Child View查找时间,相信大家对这个都不陌生。 (2): 尽可能减少布局层次 (3): 只刷新变化的部分View (4): 避免调用addView这样的方法