花了一天時間對如何Android保證Service不被殺死研究了一下,個人手機是Nexus5,系統4.4.2。微信
殺死一個Service一般有如下幾種可能:測試
1)APP本身殺死(包括調用stopService等方法),以及由於使用bindService後context本身onDestory();進程
2)第三方軟件,好比360手機衛士,騰訊手機管家,獵豹清理大師等;支付寶
3)在「設置」——>"應用"——>「正在運行」,找到應用後點擊進去,中止Service;軟件
4)「設置」中force close(即強行中止);騰訊
除去1)的狀況,測試結果以下:方法
a)第三方軟件最多能夠殺死APP進程,是不能殺死Service的;支付
b)當APP進程沒有被殺死的時候,是能夠經過不少手段在執行3)的方法的時候將Service重啓起來的,好比在Service的onDestory方法中調用startService方法;top
c)可是當第三方軟件殺死APP進程以後,使用的方法都會無效,由於Service的onDestory不會被調用,這種狀況下有些應用是很頑強的,能在必定的時間內自動再啓起來(一種方法就是使用AlarmManager);時間
d)force close乃是大殺器,force close以後的APP,無論是支付寶仍是微信,都不會再自動啓動起來了,Service和APP所有關閉;