從我的小android知識,我明白android操作系統可以在極端的內存條件下殺死我的服務。如果android重新啓動一個服務被onCreate再次調用?
我創建了返回START_STICKY
的服務。該服務是爲了在後臺運行。
如果Android是要殺死我的服務,它會調用onDestroy
?
當它重新啓動時,它會調用onCreate
?
從我的小android知識,我明白android操作系統可以在極端的內存條件下殺死我的服務。如果android重新啓動一個服務被onCreate再次調用?
我創建了返回START_STICKY
的服務。該服務是爲了在後臺運行。
如果Android是要殺死我的服務,它會調用onDestroy
?
當它重新啓動時,它會調用onCreate
?
看到這裏,開發指南。 http://developer.android.com/reference/android/app/Service.html#ProcessLifecycle
onCreate()
僅在進程啓動時調用,可以是服務第一次運行,或者在重新啓動時被終止,實質上這在每次啓動時調用。每當客戶端調用startService()
onStartCommand()
被調用。
當服務被破壞/完全停止,Android是應該調用onDestroy()
上的服務。我認爲這可能不會發生(例如,流程不是通過Android系統殺死的)。在綁定服務的情況下,這是當沒有更多活動的客戶端活頁夾時。
編輯:onCreate()
服務開始; onStartCommand()
有人使用服務; onDestroy()
服務被終止/停止。
如果有人致電Context.startService(),那麼系統將獲取 服務(創建它並調用,如果需要其onCreate()方法) ,然後調用其onStartCommand(意向,INT,INT)方法客戶端
提供的 參數...
服務可以同時起步,並沒有綁定到它的連接。在 這種情況下,系統將保留該服務,只要 要麼啓動或有一個或多個連接到它與 的Context.BIND_AUTO_CREATE標誌運行。一旦這兩種情況都不成立,就會調用服務的onDestroy()方法,並且服務有效終止 。從onDestroy()返回後,所有清理(停止線程,取消註冊接收器)應該完成。
http://developer.android.com/reference/android/app/Service.html
編輯:快速的答案。是的,對這兩個問題
http://developer.android.com/reference/android/app/Service.html - 這談到了生命週期 – user1378730
尼斯問題艾哈邁德......我從同樣的困惑的痛苦,你得到確認的onCreate()當Android重新啓動服務時調用? –
@PankajKumar是它重新啓動時被調用 – Ahmed