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. 分配實例變量靜態變量
- 5. 線程和靜態變量
- 6. Python靜態線程變量
- 7. C#線程靜態變量
- 8. 類作爲靜態變量的容器
- 9. BroadcastReceiver生命週期 - 靜態變量
- 10. 將靜態實例作爲變量傳遞? (Noesis Javascript)
- 11. 我怎麼能有非靜態線程局部變量爲每個實例
- 12. 實例變量和線程
- 13. 存儲靜態實例變量
- 14. ruby中的靜態/實例變量
- 15. 實例/靜態變量的JavaScript框架?
- 16. 靜態方法的Java實例變量
- 17. 靜態實例變量查找的Java
- 18. C++靜態變量多個實例
- 19. 靜態變量的多個實例
- 20. 靜態變量2個實例
- 21. 靜態實例線程安全
- 22. 使用向量作爲類實例的靜態容器的C++
- 23. Android,實例化實例變量,什麼線程?
- 24. 必須靜態對象實例有靜態成員變量嗎?
- 25. 靜態方法和靜態變量,糟糕的設計實踐?
- 26. 靜態實例變量引用類的實例
- 27. 兩線程共享靜態變量
- 28. 靜態變量和多線程
- 29. 使用線程遞增靜態變量
- 30. 多線程中的靜態變量
如果我的應用程序中還有其他內容正在運行(例如AppWidgetProvider),會發生什麼情況。在這種情況下,流程是否有資格終止?或者靜態實例變量是否仍然存在,線程/定時器是否工作? – Erwin 2011-04-24 20:12:28
@Erwin:一個'AppWidgetProvider'運行幾毫秒並消失 - 它是一個清單註冊的'BroadcastReceiver'。 「在這種情況下,流程是否有資格終止?」 - 絕對。它需要一個活動或服務來保持服務的活力。 「或者靜態實例變量是否仍然存在,線程/定時器是否工作?」 - 請不要使用清單註冊的'BroadcastReceiver'中的線程/定時器。 – CommonsWare 2011-04-24 20:30:57