Android优化之RecyclerView优化

元气小坏坏 提交于 2019-11-29 23:28:38

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优化就讲到这里了,喜欢的可以收藏下,希望对各位有帮助。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!