android - 应用程序上下文可以在应用程序生命周期中更改吗?

标签 android

我可以依赖声明应用程序的 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/

相关文章:

android - (#803) 您请求的某些别名不存在 : {education-experience-id} Android

Android:如何最大化 PreferenceFragment 宽度(或摆脱边距)?

android - LibGdx 冲突

安卓12 : Using SCHEDULE_EXACT_ALARM permission to get/show data at specific time are safe in Google Play Policy?

android - 用于聊天消息的 Quickblox android API 是否免费?

java - Android应用程序无法连接到外部apache mysql服务器

android - 部署的apk文件在哪里?如何用adb卸载它?

Android SeekBar 拇指被剪断/切断

java - 如何在 Android 中处理 <br/> 标签

java - 如何以编程方式设置背景图像?