應該在服務中使用什麼來擺脫UI線程?解決方案從主線程在服務中移動?
對於這兩個啓動的服務和綁定的服務
- 裝載機
- 的AsyncTask
- 簡單的線程
- Robospice圖書館
- 還是其他什麼東西
我希望我的服務,即使如此,仍繼續運行該應用程序在後臺。
我想服務運行時間不定。
謝謝。
應該在服務中使用什麼來擺脫UI線程?解決方案從主線程在服務中移動?
對於這兩個啓動的服務和綁定的服務
我希望我的服務,即使如此,仍繼續運行該應用程序在後臺。
我想服務運行時間不定。
謝謝。
使用IntentService。它是Service的一個子類。它會自動在後臺線程中運行代碼。執行完成後它自行清除。您不必停止IntentService。
如果你需要運行一個長期的任務,並停止後的服務,你應該使用IntentService - 它在不同的thred運行和停止本身工作完成後。從您的描述中可以看出,您希望Service無限期地運行。爲此,你應該使用RxJava庫。它具有執行併發操作的許多優點,請參閱文檔以獲取更多詳細信息。 爲主線程提供兩個線程池和調度程序; 輕鬆允許同步併發任務 - 您可以執行一個任務,等待另一個任務等,而無需使用純java的鎖。 您可以在一個線程上運行作業,然後在另一個線程上處理結果等; 您可以以反應方式處理結果; 您可以從HandlerThread創建自己的調度程序,併爲所有任務使用單線程
謝謝。是的,我希望我的服務無限期地運行。你能請我帶一些好的鏈接。因爲我不知道RxJava,我也不知道這是否是離開服務主線程的最佳方式。 –
6)[IntentService](https://developer.android.com/reference/android/app/IntentService.html)這取決於什麼你在做。使用適合您需求的產品。 – codeMagic
子類'Service'和啓動後臺'Thread'有 – Blackbelt
......你也應該remeber約wakelocks ...... – Selvin