ios - 可区分数据源性能问题
问题描述
我已经使用 diffable 数据源有UITableView
一段时间了,我喜欢它。但是今天我意识到它的设计中固有的一个问题。要使用 diffable 数据源,需要在数据发生变化时生成并应用快照。如果数据量很大,或者更可能是数据量不是很大,但生成每个数据点的时间很短,那么生成快照的累积时间会变得很明显,导致用户体验不佳。我不认为旧 API 有这个问题,因为委托函数仅被调用以显示在屏幕上的项目。
由于它是一项新技术(它是为 SwiftUI 引入的,对吗?),我不敢相信它会有如此明显的限制。但是从我在网上找到的材料来看,我看不出它是如何解决这个问题的。在 WWDC 2019 session 220 视频中,演讲者提到它可以以透明的方式在后台线程上运行,但我认为这不一定能缓解所有场景中的问题。例如,在数据更改由用户交互发起的场景中,通常以同步方式处理数据和更新 UI,因此在后台运行并没有真正的帮助。
我想我一定错过了什么,但我看不出它是什么。任何解释将不胜感激。
解决方案
推荐阅读
- oop - MVC 模式属于哪一类?
- python - 每次迭代后创建的换行符
- python - 从列表列表创建唯一值的频率表
- ruby - 在 Savon 请求中添加属性
- matlab - 当行数和列数大于某个阈值时,从轮廓创建的图形变为栅格格式
- c# - C# 将异常上的调试器中断为“抛出时中断”
- bash - 我应该如何将时间/日期从主机推送到客户端(与互联网隔离)
- postgresql - 来自 jsonb 的 Postgresql (Aurora) Sum 给出了奇怪的错误
- eclipse - Eclipse Tycho:使用 java.xml.bind 模块时出现编译错误?
- c# - 在 wpf 中显示另一天取决于星期几