我有一個應用程序,我有一個UART(串行通信)服務和其他幾個「任務」,需要單獨的工作線程,以保持UI響應。我的問題是理解何時/何地應該創建這些線程以及何時終止。目前,我正在主UI活動的OnCreate()中創建它們。但是,這導致了havok,因爲我最近需要從一個Activity跳轉到Main活動。建議使用具有適當標誌的Intent和StartActivity()以「清除至頂部」。但是,這當然會爲我的線程導致一組全新的實例,並且一切都會解開。我應該使用服務,以某種方式綁定到我的用戶界面?我有我的主應用程序的子類,所以我有我的應用程序的OnCreate()。我傾向於此,但似乎無法掌握應用程序與活動的生命週期。Android工作線程和應用程序生命週期
2
A
回答
2
使用服務。你有一項持續性的任務,並不固有地依附於一項特定的活動。
您可以使用startService
開始長時間運行的任務,並且該服務在完成之前不會被終止。同時,Context#bindService
只要綁定任何內容就會保持服務的活躍狀態。
2
的Android併發編程的通用規則
- 如果你需要做一些事情關閉UI線程,並返回結果,當你想使用它
- 如果你有1關使用的AsyncTask創建要求做一些工作(比如發佈web服務請求),請使用AsyncTask
- 如果您反覆想要在單個活動中執行某些操作,但不需要在活動被銷燬或將數據發送到其他服務後運行,使用線程
- 如果您需要ta lk到多個活動,使用一項服務。
- 如果您需要在發起活動結束之前/之後運行,請使用服務
相關問題
- 1. ASP.NET應用程序生命週期 - 非頁面生命週期
- 2. 線程的生命週期
- 3. Android生命週期/多線程
- 4. Android線程活動生命週期
- 5. 播放應用程序生命週期
- 6. WP7應用程序生命週期
- 7. Tomcat應用程序生命週期
- 8. Ruby Web應用程序生命週期
- 9. Asp.NET Global.asax - 應用程序生命週期
- 10. iphone應用程序的生命週期?
- 11. 應用程序生命週期問題
- 12. Android應用程序生命週期和服務
- 13. Android應用程序生命週期和singelton
- 14. 線程池和對象生命週期
- 15. Android應用程序/進程的生命週期?
- 16. Android - 流程生命週期?
- 17. 使用除主線程以外的應用程序生命週期線程
- 18. Android生命週期與遠程服務和線程
- 19. 在Android應用程序中使用生命週期方法
- 20. Android活動生命週期與流程生命週期
- 21. 安卓應用程序生命週期和/或應用程序終止儲值
- 22. 尋找一個應用程序生命週期管理工具
- 23. Android應用程序類 - 現場成員的生命週期
- 24. Android應用程序生命週期的奇怪行爲
- 25. 我需要與Android應用程序生命週期的協調
- 26. 如何掛鉤到Android應用程序生命週期?
- 27. Android - 應用程序生命週期服務
- 28. Android:生命週期問題 - 離開應用程序
- 29. 如何測試我的android應用程序的生命週期?
- 30. 瞭解Android應用程序生命週期