BroadcastReceiver生命周期 - 静态变量

时间:2011-06-09 21:06:25

标签: android garbage-collection broadcastreceiver static-variables

我有一个BroadcastReceiver类。我声明了一些静态变量,其值在onReceive()方法中更新。根据我的知识,静态变量将保持它在onReceive调用中的值。有没有可能我会松开这些值(就像我的类将被卸载重置静态变量)?这些基本上是我需要为多个onReceive调用提供的一些临时变量。

2 个答案:

答案 0 :(得分:5)

来自BroadcastReceiver Lifecycle ...

的文档
  

BroadcastReceiver对象仅在对onReceive(Context,Intent)的调用期间有效。一旦您的代码从此函数返回,系统会认为该对象已完成且不再有效。

这不会使静态变量的使用变得切实可行,因为系统会很快清理掉事物。我试着通过调用... {/ p>来尝试使用SharedPreferences

context.getSharedPreferences("MyReceiver", MODE_PRIVATE)

...在接收者的onReceive(...)方法中(将[{1}}替换为某个对您的应用有意义的名称)。

答案 1 :(得分:1)

或者您当然可以在活动类中声明静态变量。