1. 程式人生 > >andorid如何保證service不被殺死(精簡版)

andorid如何保證service不被殺死(精簡版)

Android 程序不死從3個層面入手:

       A.提供程序優先順序,降低程序被殺死的概率
         方法一:監控手機鎖屏解鎖事件,在螢幕鎖屏時啟動1個畫素的 Activity,在使用者解鎖時將 Activity 銷燬掉。
         方法二:啟動前臺service。
         方法三:提升service優先順序:
         在AndroidManifest.xml檔案中對於intent-filter可以通過android:priority = "1000"這個屬性設定最高優先順序,1000

         是最高值,如果數字越小則優先順序越低,同時適用於廣播。

       B. 在程序被殺死後,進行拉活
         方法一:註冊高頻率廣播接收器,喚起程序。如網路變化,解鎖螢幕,開機等
         方法二:雙程序相互喚起。
         方法三:依靠系統喚起。
         方法四:onDestroy方法裡重啟service:service +broadcast 方式,就是當service走ondestory的時候,傳送一個自

         定義的廣播,當收到廣播的時候,重新啟動service;

       C. 依靠第三方
          根據終端不同,在小米手機(包括 MIUI)接入小米推送、華為手機接入華為推送;其他手機可以考慮接入騰訊信鴿

          或極光推送與小米推送做 A/B Test。

不能一味的撈現成的,從三方面入手,定準大方向,定能破此陣。