android开发人员网站声明,在onReceive()方法返回后,您可以删除BroadcastReceiver进程,并且不应在BroadcastReceiver内启动线程/计时器。但是这与Thread/Timer类的静态实例变量有什么关系?我认为这些静态实例变量仍然存在,因为它们绑定到加载的类?或者我错了(例如,因为该流程是在一个新的dalvik JVM中启动的),我是否应该从不在BroadcastReceivers中使用线程/定时器?Android BroadcastReceiver线程/计时器作为静态实例变量
0
A
回答
1
还是我错了(例如,由于过程是一个新的Dalvik JVM内开始),并应我从来没有BroadcastReceivers中使用线程/定时器?
如果BroadcastReceiver
在清单登记,不派生线程,启动定时器,注册听众,或以其他方式做任何事情绑到接收器,将需要生活超越了接收器。如果您的应用程序没有其他任何内容运行,那么您的流程随时都有资格终止,随身携带您的资料。
如果BroadcastReceiver
是通过registerReceiver()
从其他组件注册的,那么其他组件可以fork线程,启动计时器,注册监听器或其他任何组件,但要遵守该组件的正常规则。
相关问题
- 1. 静态关键字,状态/实例变量和线程安全
- 2. SEL作为实例属性或作为静态变量
- 3. 分配实例变量静态变量
- 4. C#线程静态变量
- 5. Python静态线程变量
- 6. 类作为静态变量的容器
- 7. BroadcastReceiver生命周期 - 静态变量
- 8. 将静态实例作为变量传递? (Noesis Javascript)
- 9. 我怎么能有非静态线程局部变量为每个实例
- 10. 静态实例变量查找的Java
- 11. 静态变量的多个实例
- 12. 静态实例线程安全
- 13. 使用线程递增静态变量
- 14. android应用程序崩溃时的静态变量行为
- 15. 是否正在实例化非最终静态变量线程安全?
- 16. 非静态类实例中的c#静态变量的行为是什么?
- 17. Singleton实例为静态字段与静态变量在getInstance()方法
- 18. 为什么更改实例变量也会改变静态变量?
- 19. 作为静态的Objective-C Singleton实例?
- 20. 静态类作为实例属性
- 21. 为静态类实例变量取消分配
- 22. Android广播接收器+静态变量
- 23. python成员变量的实例像成员变量一样工作,有些工程像静态变量
- 24. 当静态变量Android中
- 25. android:使用静态变量
- 26. Android静态变量丢失
- 27. Android中的静态变量
- 28. Android计算器代码中的静态变量问题?
- 29. 实例变量和线程与GCD
- 30. .properties作为最终的静态变量
如果我的应用程序中还有其他内容正在运行(例如AppWidgetProvider),会发生什么情况。在这种情况下,流程是否有资格终止?或者静态实例变量是否仍然存在,线程/定时器是否工作? – Erwin 2011-04-24 20:12:28
@Erwin:一个'AppWidgetProvider'运行几毫秒并消失 - 它是一个清单注册的'BroadcastReceiver'。 “在这种情况下,流程是否有资格终止?” - 绝对。它需要一个活动或服务来保持服务的活力。 “或者静态实例变量是否仍然存在,线程/定时器是否工作?” - 请不要使用清单注册的'BroadcastReceiver'中的线程/定时器。 – CommonsWare 2011-04-24 20:30:57