观心静

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

NestedScrollView嵌套RecyclerView导致的UI加载慢的问题

原因

1.复现这个问题需要RecyclerView有大量item数据

2.这个问题是因为NestedScrollView需要反复测量RecyclerView与item的高宽导致的。

3.另一个方面(个人猜测没有验证过),NestedScrollView反复测量后导致RecyclerView又需要反复测量然后在重新刷新数据、

解决办法

其实很简单,将不是RecyclerView的View全部搬入RecyclerView的适配器一起成为一个列表显示。有些人可能是想偷懒,不想弄得这么复杂,用NestedScrollView嵌套RecyclerView解决问题。在少量数据的情况下我是支持这种玩法的,因为会让View的结构更简单,反复几次刷新测量并不会开销太大性能。

  当然,还有人是压根没有深入了解过RecyclerView。这个在滚动列表界面里十分万能,各种不同的item的View都能塞入RecyclerView里一起处理。处理各种各样的item的View关键点是理解好以下RecyclerView.Adapter里的重写方法:

 public int getItemViewType(int position)

 

 

END

posted on 2020-03-27 20:27  观心静  阅读(3037)  评论(0编辑  收藏  举报