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.recyclerView优化处理

  • 15.adapter优化

  • 具体看这篇博客:recyclerView优化

Android优化就讲到这里了,喜欢的可以收藏下,希望对各位有帮助。

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...