我有一个包含 20-60 件物品的回收站视图。我正在使用 Room+Livedata 和 Diffutil。Recyclerview 一般每秒更新 2-3 次。项目不会只改变项目的内容被修改,例如当前下载项目的百分比变化。我在后台线程中使用 diffutil 。我在 diffutil 工作时忽略了任何更新,只保留和处理最新的更新。我没有使用任何 ItemAnimator,而是通过有效负载仅更改 onbindView 上的百分比。
很快,我已经使用了我发现的所有可能的解决方案来使 RecyclerView 更流畅、更快。
但是,如果项目在滚动时更新,滚动仍然会冻结 UI 0.2 秒。当该项目当时对用户不可见时,甚至会发生这种情况。
您有什么建议还是我应该接受这种滞后并继续?