Android优化之RecyclerView优化
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