不在活动中保留静态参数

时间:2010-09-23 23:44:05

标签: android static jvm static-members

我正在开发一个Android应用程序,我正在使用我写的库。该库有一个包含一些静态字段的类。其中一个是API密钥。我的库中的其他类使用此密钥来对远程服务进行调用。

我在创建主Activity时初始化一次API密钥,并且savedInstanceState为null。

我的问题在于其他活动,因为他们在使用我的库进行调用时有时会使用正确的API密钥,有时他们却没有。好像没有设置API密钥。

特别是我从我的首选项活动调用的一个活动总是因为未设置API密钥而失败。

不是像普通Java应用程序那样在活动中维护静态字段吗?我认为对于特定的jvm实例,所有静态字段都会被保留。 Android平台是否为新活动使用新的jvm实例?

2 个答案:

答案 0 :(得分:1)

请阅读:

http://developer.android.com/guide/topics/fundamentals.html#procthread

您的应用正在运行中。该过程可能需要在后台处理时被杀死。你的应用程序必须正确保存适当的状态,因为它在后台运行(通过ex.Export.onSaveInstanceState())和/或在以后重新启动新进程时重建其状态。

答案 1 :(得分:0)

您是以直接还是间接方式访问静态字段?其他活动是否与Api密钥混淆?如果是这样,您应该在访问之前synchronized