RecyclerView优化
1 页面为何卡顿
RecyclerView滑动卡顿的原因有哪些?
-
第一种:嵌套布局滑动冲突
导致嵌套滑动难处理的关键原因在于当子控件消费了事件, 那么父控件就不会再有机会处理这个事件了,
所以一旦内部的滑动控件消费了滑动操作, 外部的滑动控件就再也没机会响应这个滑动操作了 -
第二种:嵌套布局层次太深,比如六七层等
测量,绘制布局可能会导致滑动卡顿 -
第三种:比如用RecyclerView实现画廊,加载比较大的图片,如果快速滑动,则可能会出现卡顿,主要是加载图片需要时间
-
第四种:在onCreateViewHolder或者在onBindViewHolder中做了耗时的操作导致卡顿。按stackoverflow上面比较通俗的解释:RecyclerView.Adapter里面的onCreateViewHolder()方法和onBindViewHolder()方法对时间都非常敏感。类似I/O读写,Bitmap解码一类的耗时操作,最好不要在它们里面进行。
2 具体优化方案
-
03.SparseArray替代HashMap
-
04.瀑布流图片错乱问题解决
-
05.item点击事件放在哪里优化
-
06.ViewHolder优化
-
07.连续上拉加载更多优化
-
08.拖拽排序与滑动删除优化
-
09.暂停或停止加载数据优化
-
11.异常情况下保存状态
-
12.多线程下插入数据优化
-
14.recyclerView优化处理
-
15.adapter优化
-
具体看这篇博客:recyclerView优化
Android优化就讲到这里了,喜欢的可以收藏下,希望对各位有帮助。
来源:https://blog.csdn.net/Aerfa789/article/details/100941220