事情是这样的:有人知道setHasFixedSize方法吗?有人说如果所有项目大小都相同,它允许进行优化,而在android.support.v7.widget的RecyclerView类中,它评论如下:如果事先可以知道适配器内容的变化,RecyclerView可以执行多次优化无法改变RecyclerView本身的大小.如果您使用RecyclerView属于此类别,请将此设置为true.
那是什么意思?有人能告诉我使用它的背景或解释上面"这个类别"的含义吗?非常感谢.
Sot*_*tti 27
RecyclerView有趣的是,它的大小(宽度和高度尺寸)取决于适配器内容,以避免昂贵的布局操作.如果RecyclerView事先知道其大小不依赖于适配器内容,那么每次添加或从适配器中删除项目时,它都会跳过检查其大小是否应该更改.这一点尤其重要,因为插入删除元素可能会经常发生.
如果RecyclerView的大小(RecyclerView本身)......
... 不依赖于适配器内容:
mRecyclerView.setHasFixedSize(true);
Run Code Online (Sandbox Code Playgroud)
... 取决于适配器内容:
mRecyclerView.setHasFixedSize(false);
Run Code Online (Sandbox Code Playgroud)
如果您检查RecyclerView类,您将更详细地看到它,因为截至目前,mHasFixedSize并未在该类的许多位置使用.
将其设置为true并不意味着RecyclerView大小是固定的,只是意味着它不会因适配器内容的变化而改变.例如,RecyclerView大小可能会因其父级的大小更改而更改.
| 归档时间: |
|
| 查看次数: |
22606 次 |
| 最近记录: |