Android BroadcastReceiver线程/计时器作为静态实例变量

时间:2011-04-24 19:54:24

标签: android broadcastreceiver

android开发者网站指出,在onReceive()方法返回后,BroadcastReceiver进程有资格被删除,并且您不应该在BroadcastReceiver中启动线程/计时器。但是这与Thread / Timer类的静态实例变量有什么关系呢?我假设这些静态实例变量仍然存在,因为它们绑定到加载的类?或者我错了(例如,因为该进程是在新的dalvik JVM中启动的)并且我是否应该在BroadcastReceivers中使用线程/定时器?

1 个答案:

答案 0 :(得分:1)

  

或者我错了(例如,因为该进程是在新的dalvik JVM中启动的)并且我是否应该在BroadcastReceivers中使用线程/定时器?

如果在清单中注册了BroadcastReceiver,请不要分叉线程,启动计时器,注册侦听器,或以其他方式执行与接收器相关的任何需要超出接收器的事物。如果您的应用中没有其他内容正在运行,那么您的流程就可以随时终止,并随身携带。

如果BroadcastReceiver是通过registerReceiver()从其他组件注册的,那么其他组件可以分叉线程,启动计时器,注册侦听器或其他任何内容,这取决于该组件的正常规则。 / p>