gpt4 book ai didi

android - Android中Application类的目的是什么

转载 作者:IT老高 更新时间:2023-10-28 23:34:39 26 4
gpt4 key购买 nike

Application 类的目的究竟是什么。将其扩展到自定义子类有什么好处为什么要使用它?全局变量可以存储在任何其他类中实现与Application相同的目标吗?

最佳答案

好问题!

您的应用程序是一个在您的 Activity 和服务运行时始终运行的上下文。

它也是第一个被创建和最后一个被销毁的上下文。因此,它围绕着您的应用的生命周期。

您可以使用应用程序类作为共享数据或组件的一种方式(例如,用于依赖注入(inject))。例如,如果您想在 Activity 之间共享单例,您可以在应用程序类中创建实例并提供一个 getter,然后所有其他上下文都可以通过

((cast to your class)getApplicationContext()).getFoo();

在某些用例中,您甚至需要在启动第一个 Activity 之前做一些事情,然后在应用程序类的 onCreate 方法中做。

另一方面,你不应该依赖 Application 类的 onDestroy 方法,因为它并不总是被调用。 Android 上没有这方面的契约(Contract)。

但这种情况很少见,而且通常您不需要重写应用程序类。例如 RoboGuice 或 Dagger 可以通过其他方式实现依赖注入(inject)。

关于android - Android中Application类的目的是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13400455/

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