我正在重写一个简单的应用程序来使用MVVM架构。我得到了一切工作,除了在用户旋转屏幕时保留状态(或任何配置更改)。
在进行研究时,我遇到了几个选项,但我无法弄清楚哪一个是正确的(如果只有一个"正确"方式)。
- (onSaveInstanceState:不能在ViewModel中使用,这只适用于活动/片段)
- 扩展ViewModel课程。这显然是为了更容易在整个生命周期中存储与UI相关的数据。我发现它很混乱,而且我的应用程序的功能似乎有些过分。没有对在线数据库,订阅源或任何内容的异步请求。更重要的是:我不能再使用@Bindable,所以我不知道如何使用我的视图进行绑定。
- 使用片段来保持状态。这是在Google自己的todo-mvvm-databinding sample中使用的。我发现使用Fragments很奇怪。它们似乎不是为了存储数据而制作的。
醇>
哪一个是最好的"?为什么?