和listview区别
Recycleview有几级缓存,缓存过程?
Recycleview有四级缓存,分别是mAttachedScrap(屏幕内),mCacheViews(屏幕外),mViewCacheExtension(自定义缓存),mRecyclerPool(缓存池)
四级缓存按照顺序需要依次读取。所以完整缓存流程是:
需要注意的是,如果从缓存池找到缓存,还需要重新bindview。
说说RecyclerView性能优化。
void onItemsInsertedOrRemoved() {
if (hasFixedSize) layoutChildren();
else requestLayout();
}
new LinearLayoutManager(this) {
@Override
protected int getExtraLayoutSpace(RecyclerView.State state) {
return size;
}
};
本文分享自微信公众号 - 码上积木(Lzjimu)。
如有侵权,请联系 [email protected] 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。