adapter.setHasStableIds(true) 为什么在 RecyclerView 中默认不启用?

Zer*_*ool 5 performance android android-recyclerview

我可以看到设置适配器。

setHasStableIds(true);

将提高 RecyclerView 的性能,因为它提高了很多性能,为什么它不是默认启用的RecyclerView,设置时有什么限制setHasStableIds(true)吗?

sas*_*mar 0

原因是当我们只在回收器视图中显示数据时,不需要每个项目的唯一 ID,也不需要动画。所以它的 默认值是 false

但是,当我们要在数据集中执行某些操作并更新回收器视图时,它需要特定项目的唯一 id 并刷新它需要的动画(闪烁)。所以我们设置为 true