android - PagedList 和 RecyclerView 交互的性能可以提高吗?
问题描述
在我的 Android 应用程序中,我正在RecyclerView
使用 Room 和 Paging 库中显示数据。
AsyncPagedListDiffer
我的实现与文档中的示例非常相似。
流程如下:
- 数据库中的数据发生了变化
相应
Observer
的将更改传递给Adapter
:myLiveData.observe(viewLifecycleOwner, Observer { myAdapter.submitList(it) })
计算
AsyncPagedListDiffer
差异并相应地更新列表
我的问题是第 3 步的性能下降。
即使我只在列表顶部插入一个项目,不同的人也必须检查所有项目(这非常低效,尤其是对于较大的数据集),而一个简单的notifyItemInserted(0)
调用就足够了。
有没有办法解决这种行为?
例如,我可以告诉不同的是它不必检查所有项目吗?或者任何其他解决方案?
我真的很感激任何建议。
解决方案
推荐阅读
- angular - Angular 8 中 Observable 中的类型转换问题
- c# - C# PowerShell - AddScript 作为多个语句
- python - H5py,将匹配的行从巨大的 hdf5 文件合并到较小的数据集
- javascript - 如何使用 Context API 在 React 中组合多个 reducer
- node.js - 无法在节点应用程序中使用 process.env 访问 mailgun 凭据
- python-3.x - 在 python Draft7 的 jsonschema 中从 $ref 创建 Ref-resolver
- reactjs - React-Redux - 钩子 API
- python-3.x - 将宽矩阵转换为压缩稀疏格式
- arrays - Kotlin 语法:如何在循环中定义资源
- mysql - mysql获取列名并与另一个表进行比较