從三個層面入手:
A:提供進程優(yōu)先級肥卡,降低進程被殺死的概率
方法一:監(jiān)控手機鎖屏解鎖事件,在屏幕鎖屏時啟動1個像素的 Activity翻默,在用戶解鎖時將 Activity 銷毀掉读规。
方法二:啟動前臺service衬横。
方法三:提升service優(yōu)先級:在AndroidManifest.xml文件中對于intent-filter可以通過
android:priority = "1000"http://這個屬性設置最高優(yōu)先級按声,1000是最高值膳犹,如果數字越小則優(yōu)先級越低,同時適用于廣播签则。
B:在進程被殺死后须床,進行拉活。
方法一:注冊高頻率廣播接收器渐裂,喚起進程豺旬。
如網絡變化钠惩,解鎖屏幕,開機等
方法二:雙進程相互喚起族阅。
方法三:依靠系統(tǒng)喚起篓跛。
方法四:onDestroy方法里重啟service:service +broadcast 方式,就是當service走ondestory的時候耘分,發(fā)送一個自定義的廣播举塔,當收到廣播的時候,重新啟動service求泰;
C. 依靠第三方根據終端不同。
在小米手機(包括 MIUI)接入小米推送计盒、華為手機接入華為推送渴频;
其他手機可以考慮接入騰訊信鴿或極光推送與小米推送做 A/B Test。
參考博客:Android 進程北逼簦活招式大全
Activity卜朗、Application以及BroadcastReceiver生命周期
http://www.reibang.com/p/fcac1a8437ba