【发布时间】:2019-06-02 23:45:34
【问题描述】:
我已经阅读了很多关于 RecyclerView 中的优化的信息 很长一段时间,学到了很多新概念。还不清楚的一件事是,我们能否在 RecyclerView 中同时使用稳定的 id 和 DiffUtils。这种方法是否有可能的好处/缺点?根据我的阅读,我认为单独使用 DiffUtils 将提供重用 viewHolders 和漂亮动画的所有可能好处(如果我错了,请纠正我)。详细的比较会很有帮助。
【问题讨论】:
-
AFAIK 你是对的。至于稳定的 id,我们需要覆盖一个方法,即 getItemId,它在我看来就像 diff utils 的一个子集。使用稳定的 ID 可以防止视图持有者闪烁。这实际上与 DiffUtils 相同。
-
我也有同样的疑问。但我认为这里的回复表明 hasStableIds 是一种遗产,而 diffutil 似乎是正确的前进方向。我看不到任何专业人士同时使用两者。
标签: android optimization android-recyclerview