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