【发布时间】:2010-09-23 23:44:05
【问题描述】:
我正在开发一个 Android 应用程序,并且正在使用我编写的库。这个库有一个包含一些静态字段的类。其中之一是 API 密钥。我的库中的其他类使用此密钥来调用远程服务。
我在创建主 Activity 时初始化一次 API 密钥,并且 savedInstanceState 为空。
我的问题在于其他活动,因为它们有时在使用我的库进行调用时使用正确的 API 密钥,有时却没有。好像没有设置 API 密钥。
特别是我从我的偏好活动中调用的一项活动由于未设置 API 密钥而总是失败。
是否像在普通 Java 应用程序上那样跨活动维护静态字段?我认为对于特定的 jvm 实例,所有静态字段都被保留。 Android 平台是否为新的活动使用新的 jvm 实例?
【问题讨论】:
-
你应该使用 sharedPreference 而不是静态全局变量来实现它
-
该库仅针对 java 编写。它不知道它将在哪个平台上运行。你是说静态字段在 android 中是 volatile 的?
标签: android static jvm static-members