Best practices for lifecycle-aware components
- UI控制器 (activities and fragments) 要尽可能瘦。使用
ViewModel
来获得数据,通过观察LiveData来刷新UI. - 尝试编写数据驱动的用户界面,其中您的用户界面控制器的职责是在数据更改时更新视图,或将用户操作通知给ViewModel。
- 把你的数据逻辑放在ViewModel类中。 ViewModel应作为您的UI控制器和其他应用程序之间的连接器。但要小心,ViewModel不负责提取数据(例如,from a network)。相反,ViewModel应调用相应的组件来获取数据,然后将结果提供给UI控制器。
- 使用
Data Binding
- 如果您的UI很复杂,请考虑创建一个
presenter
类来处理UI修改。这可能是一项费力的任务,但它可以使您的UI组件更易于测试。 - 避免在
ViewModel
引用 View或ActivityContext