在我的 Android 应用程序中,我正在RecyclerView
使用 Room 和 Paging 库中显示数据。
AsyncPagedListDiffer
我的实现与文档中的示例非常相似。
流程如下:
- 数据库中的数据发生了变化
相应
Observer
的将更改传递给Adapter
:myLiveData.observe(viewLifecycleOwner, Observer { myAdapter.submitList(it) })
计算
AsyncPagedListDiffer
差异并相应地更新列表
我的问题是第 3 步的性能下降。
即使我只在列表顶部插入一个项目,不同的人也必须检查所有项目(这非常低效,尤其是对于较大的数据集),而一个简单的notifyItemInserted(0)
调用就足够了。
有没有办法解决这种行为?
例如,我可以告诉不同的是它不必检查所有项目吗?或者任何其他解决方案?
我真的很感激任何建议。