我可以依赖声明应用程序的 Context
在应用程序的生命周期中没有改变吗?如果我使用单例模式将 context
存储在某处,然后在我需要的任何地方使用,会怎样?
最佳答案
首先回答你的第二个问题:如果你需要在单例中存储一些状态,那么你可以使用 Android Application
类并且你的 Application
成为你的单例(它也是一个上下文
)。没有必要存储它。
关于第一个问题,关于 Context
是否可以在运行时更改:有点与 your other question 有关,我想我们可以通过查看 ContextWrapper.attachBaseContext
来解决这个问题:
protected void attachBaseContext(Context base) {
if (mBase != null) {
throw new IllegalStateException("Base context already set");
}
mBase = base;
}
所以,是的,您可以信赖它;它无法更改,如果您尝试更改,它将抛出 IllegalStateException
。
关于android - 应用程序上下文可以在应用程序生命周期中更改吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11490599/