2016-03-31 259 views
-2

你能用這些例子來解釋我嗎?Service和IntentService有什麼區別?

何時使用服務以及何時在應用程序開發過程中使用IntentServices。

+2

首先搜索谷歌,然後問你的問題。 http://stackoverflow.com/questions/15524280/service-vs-intentservice –

+0

**謝謝.... ** – Anilkumar

回答

3

服務是服務實現的基類。服務類在應用程序的主線程中運行,這可能會降低應用程序的性能。因此,IntentService是Service的一個直接子類,可以讓事情變得更簡單。 IntentService用於在後臺執行某個任務。一旦完成,IntentService的實例將自動終止。其用法的例子是從互聯網下載某些資源。

差異

服務類使用應用程序的主線程,而IntentService創建工作線程,並使用該線程來運行服務。

IntentService創建一個隊列,每次將一個意圖傳遞給onHandleIntent()。因此,應該通過直接擴展Service類來實現多線程。服務類需要使用stopSelf()手動停止。同時,IntentService在隊列中沒有意圖時會自動停止。

IntentService實現了返回null的onBind()。這意味着IntentService不能默認綁定。

IntentService實現了將Intent發送到隊列和onHandleIntent()的onStartCommand()。簡而言之,使用IntentService只需做兩件事情。首先,實施構造函數。其次,實現onHandleIntent()。對於其他回調方法,需要調用super才能正確跟蹤它。

簡而言之 服務是開發人員設置後臺操作的更廣泛的實現,而IntentService對於「火災和遺忘」操作有用,負責後臺線程創建和清理。

從文檔:

服務服務是表示任一應用程序的執行更長的運行的操作,同時不與用戶交互或用於其它應用程序使用,以提供功能性慾望的應用組件。

IntentService IntentService是服務的基類,用於按需處理異步請求(表示爲Intents)。客戶通過startService(Intent)調用發送請求;該服務根據需要啓動,使用工作線程輪流處理每個Intent,並在其停止工作時自行停止。

http://www.coderzheaven.com/2013/07/12/main-differences-service-intent-service/

+0

添加此鏈接http://www.coderzheaven.com/2013/07/12/main- difference-service-intent-service/ –

+1

@IntelliJAmiya Ok ji ........謝謝。 –

+0

@IntelliJAmiya你的指導和支持是非常感謝....永遠.... –

1

服務兩者是Android服務,可以擴展到創建任何服務的基類。一個直接擴展Service的類在主線程上運行,所以它會阻塞UI(如果有的話),因此只能用於短任務或者應該使用其他線程來處理更長的任務。

IntentService是Service的一個子類,用於根據需要處理異步請求(表示爲「Intents」)。客戶通過startService(Intent)調用發送請求。服務根據需要啓動,然後使用工作線程處理每個Intent,並在工作完成時自行停止。編寫一個IntentService可以非常簡單;只需擴展IntentService類並重寫onHandleIntent(Intent intent)方法,您可以在其中管理所有傳入請求。