布局渲染优化
When using `setHasFixedSize() in an RecyclerView, wrap_content cannot be used as a value for size in
上述问题是lint检查报错
-
RecyclerView.setHasFixedSize(true); // 布局大小固定
当adapter内的数据内容发生改变不会影响RecyclerView大小时,可以设置此项属性,以节省每个item布局重绘,提高性能。尤其是在插入、删除时性能提升更明显。RecyclerView在条目数量改变,会重新测量、布局各个item,如果设置了setHasFixedSize(true),由于item宽高固定的,adapter的内容改变时,RecyclerView不会整个布局都重绘。回到上面那个lint问题,setHasFixedSize(true);使用需要设置recyclerview宽高设置固定,或者直接忽略这个警告@SuppressWarnings(“InvalidSetHasFixedSize”)
Understanding RecyclerView setHasFixedSize -
RecyclerView.setItemViewCacheSize(10); // 设置缓存的ViewHolder数量
设置视图之外的缓存视图数量,可以重用这些视图 -
减少布局嵌套层级
减少item的过度绘制, 减少布局层级,尽量少的布局嵌套,尽量少的控件
合理的刷新机制
慎用全局刷新notifyDa

最低0.47元/天 解锁文章
846

被折叠的 条评论
为什么被折叠?



