ViewModel
1.数据持久化、
activity销毁重建 传统使用 onSaveInstanceState,但只适合少量的可以被序列化的数据 (可存储的空间不大)
由于ViewModel的生命周期是贯穿整个Activity的生命周期的,包括activity因旋转造成的重新创建activity,直到activity真正意义上销毁才会结束
2.异步回调问题
通常:app需要频繁异步请求数据:如:接口请求服务器数据。这些回调一般耗时,当请求的回调未完成,然而activity被销毁了,
就会导致内存泄漏。可以利用ViewModel处理数据回调。
3.分担UI controller
分离出数据操作的职责
4.