Android RecyclerView优化

  1. 减少onBindViewHolder内的逻辑处理,分离数据处理和视图加载过程;
  2. 尽可能使用局部刷新,减少使用全部刷新;
  3. 如果ItemView的高度是固定,设置RecyclerView.setHasFixedSize(true)来避免 requestLayout浪费资源;
  4. 通过重写 RecyclerView.onViewRecycled(holder) 来回收资源;
  5. 尽量使ItemView使用公用监听器,通过id区分,减少监听器对象创建;
  6. 如果不需要动画,设置((SimpleItemAnimator)RecyclerView.getItemAnimator()).setSupportsChangeAnimations(false);关闭动画;
  7. 如果有多个RecycledView的Adapter是一样的,可以通过设置 RecyclerView.setRecycledViewPool(pool),来共用一个RecycledViewPool;
  8. 升级RecycleView版本到25.1.0及以上使用Prefetch功能;
  9. 设置滚动监听RecyclerView.addOnScrollListener() ,在滑动过程中暂停修改视图;
  10. 增加缓存数量 RecyclerView.setViewCacheSize(int viewCount);
  11. 优化ItemView布局,减少层级、固定高度;
  12. 通过设置adapter.setHasStableIds(true),并重写getItemId()设置ItemView的唯一id,优化复用规则,减少刷新闪烁;

2022-02-26

你可能感兴趣的:(Android RecyclerView优化)