Android service學習

onDestroy()html

當服務再也不使用且將被銷燬時,系統將調用此方法。服務應該實現此方法來清理全部資源,如線程、註冊的偵聽器、接收器等。 這是服務接收的最後一個調用。android

 <service> 元素 請始終使用顯式 Intent 啓動或綁定 Service,且不要爲服務聲明 Intent 過濾器。能夠經過添加 android:exported 屬性並將其設置爲 "false",確保服務僅適用於您的應用。這能夠有效阻止其餘應用啓動您的服務,即使在使用顯式 Intent 時也如此。app

啓動服務由另外一個組件經過調用 startService() 啓動,這會致使調用服務的 onStartCommand() 方法。ide

服務啓動以後,其生命週期即獨立於啓動它的組件,而且能夠在後臺無限期地運行,即便啓動服務的組件已被銷燬也不受影響。 所以,服務應經過調用stopSelf() 結束工做來自行中止運行,或者由另外一個組件經過調用 stopService() 來中止它。ui

應用組件(如 Activity)能夠經過調用 startService() 方法並傳遞 Intent 對象(指定服務幷包含待使用服務的全部數據)來啓動服務。服務經過onStartCommand() 方法接收此 Intentgoogle

 

 

IntentService線程

這是 Service 的子類,它使用工做線程逐一處理全部啓動請求。若是您不要求服務同時處理多個請求,這是最好的選擇。 您只需實現 onHandleIntent() 方法便可,該方法會接收每一個啓動請求的 Intent,使您可以執行後臺工做。code

相關文章
相關標籤/搜索