Bur*_*hid 4 java android android-lifecycle android-architecture-components
我已经在Android架构组件上工作了一段时间,这是在Google IO 2017中引入的
他们的一个组件是为了避免配置更改它们提供的问题ViewModel和AndroidViewModel类
根据文件:
AndroidViewModel:应用程序上下文感知ViewModel
ViewModel:ViewModels也可以用作Activity的不同片段之间的通信层.每个片段可以ViewModel通过其Activity 获取使用相同的键
但是对于AndoirdViewModel场景,我可以通过将类扩展到Application类来获取应用程序上下文
Android开发中它们之间的实际区别是什么?因为两者仅附加到Activity/Fragment生命周期.
Com*_*are 13
但是对于AndoirdViewModel场景,我可以通过将类扩展到Application类来获取应用程序上下文
创建自己的自定义子类Application并不会神奇地使该单例实例可用于a ViewModel.
可以创建一个自定义子类,Application它有自己的getInstance()方法或直接暴露单例的东西.谷歌不喜欢这种模式(我也不喜欢这种模式),因此谷歌并没有引导开发者使用它.
Android开发中它们之间的实际区别是什么?
A ViewModel本身没有好办法获得Context.AndroidViewModel提供一个Application用作a Context,并专门提供Application单例,所以我们确信它Context本身并不代表内存泄漏.