Android 关于列表的优化总结

由于最近团队已经将app的质量提到OKR的评判范围内,所以我们在日常开发就得对优化方面做的更多了。直接面临的问题时,我们的某个列表滑动不是很顺畅(老大拿着朋友圈滑了一下,又拿着我们的app滑了下,说道:“你看我们的app还是有点卡顿,你看看卡在甚么地方。”)。当时我就尴尬了,你怎么能拿我们的和微信比,微信是什么团队。。。。当然了只是心里想想哈哈。回来之后我就开始重新搜索ListView和RecylcerView的优化等等的,现在感觉我们好像卡顿的最主要原因应该是图片,我在仔细对比了微信和我们的,好像发现微信的图片在滚动的时候是不加载的,只有停止下来才加载,所以得出结论,这个滑动时不加载图片才是关键,当然其他的情况也都可能会产生影响,现在将其整理出来:

ListView优化:

1.在列表快速滑过的时候不加载图片。
2.ViewHolder使用static。
3.列表中的图片都用缩略图,点击放大采用原图。
4.尽量避免在BaseAdapter中用static来定义全局静态变量。
5.尽量使用getApplicationContext(),因为它的生命周期过长,不会出现内存泄漏。
6.将ListView的scrollingCache和animateCache设置为false。

7.item的布局层级越少越好。

8.能将ListView宽高设置为match_parent就设置为match_parent。

RecyclerView优化:

1.对于嵌套的内部recyclerView设置viewPool。
2.尽量不要用recyclerView嵌套GridView,要用recyclerView嵌套recyclerview,内部的recyclerView可以共享viewpool。

3.9宫格图片的实现尽量用自定义View根据图片的数量来选取不同的Layout。


以后遇到新的会补充,当然有些是通用的,希望能帮到有用到的童鞋。

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭