RecycleView可优化的点

因为onBind方法的调用时机是View滑到屏幕内可显示时这个方法就会调用此方法,避免在这个方法内设置点击事件等创建对象的操作。

多用于RecycleView嵌套RecycleView,减少对ViewHolder的创建

notifydatasetchange全部刷新,notifyItemRemoved(0)局部删除, notifyItemRangeInserted(start,end)等刷新机制的选择。

其实setItemViewCacheSize设置的是CacheViews的大小

所以我们可以适当的通过调用setItemViewCacheSize方法,来增加CacheViews的大小(默认是2),来防止小范围的滑动导致的重复Bind而导致的卡顿。 典型的拿空间还时间,所以要考虑内存问题,根据自己的应用实际情况设置大小

当知道Adapter内Item的改变不会影响RecyclerView宽高的时候,可以设置为true让RecyclerView避免重新计算大小。

需要升级Recycle版本到25以上的版本才能使用recyclerview prefetch功能。

参考文章: RecyclerView的新机制:预取(Prefetch)

RecyclerView Prefetch功能探究