gpt4 book ai didi

android - 将 Application 或 ApplicationContext 传递给 ViewModel?

转载 作者:行者123 更新时间:2023-12-03 10:15:34 28 4
gpt4 key购买 nike

我有一个小问题。
我正在开发一个 Android 应用程序,并且正在使用 MVVM 设计模式。

我需要将应用程序上下文传递给一些 ViewModel 和存储库,因为如下操作:实例化房间数据库、播放声音文件、将小数据保存到共享首选项中。我使用依赖注入(inject)做到了这一点。

我知道Application Context只有一个实例,所以如果我通过它就不会发生内存泄漏,这与Activity Contexts不同。

这是我的不明确之处:我发现传递 ApplicationContext (上下文实例)有效,但也有效 Application (应用程序实例)。这两个选项有什么区别?哪一个更适合作为参数传递?

最佳答案

Application object 实际上与 getApplicationContext() 返回的对象相同。 .

如果您使用的是 AndroidViewModel 使用默认工厂,您将获得 Application适合用作 Context 的对象(作为 Application 扩展 Context )。

关于android - 将 Application 或 ApplicationContext 传递给 ViewModel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60131633/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com