【发布时间】:2023-03-19 04:45:02
【问题描述】:
我们应该异步初始化我们的 ViewModel。直接从本地 SQLite DB 加载数据可能非常快(但并非总是如此)。如果我们从某个远程源抽取数据,则可能会出现相当明显的延迟。所以用户需要一些视觉反馈,主 UI 一定不可用。
在为 ViewModel 准备数据或发送一些数据进行处理(等待 ViewModel 中的更改)时显示进度的最佳做法是什么?
例如,如果 LiveData 值为 null,则切换到 Loading Progress 片段并在那里准备 ViewModel 并在准备好时切换回来?但是 ViewModel 用于绑定到特定的片段...
只是在加载/处理数据时让一些根视图不可见?换句话说,在每个片段中添加一些进度部分来显示它而不是主要内容? 但是这种方法对于很多布局需要太多样板代码。
如果知道数据几乎会立即加载,我们是否应该小心处理它?
您如何处理 JetPack 应用程序中长时间运行的操作 UI?
【问题讨论】:
标签: android user-interface android-architecture-components android-jetpack long-running-processes