嘗試記錄
(以極光推送為例)
1.機(jī)型:Nexus 系統(tǒng):6.0
操作:從后臺(tái)應(yīng)用列表劃除應(yīng)用
結(jié)果:只干掉了UI進(jìn)程,remote進(jìn)程沒(méi)有干掉朝聋。
所以推送服務(wù)正常運(yùn)作。
重啟手機(jī)囤躁,推送服務(wù)正常運(yùn)作冀痕。
判斷是,由于能夠捕獲到開(kāi)機(jī)監(jiān)聽(tīng)狸演,其他帶有極光SDK的應(yīng)用做了開(kāi)機(jī)自啟動(dòng)言蛇,然后極光SDK再互相啟動(dòng)手機(jī)里所有帶有極光SDK的服務(wù)。
于是自己的應(yīng)用即使沒(méi)有做開(kāi)機(jī)自啟動(dòng)推送服務(wù)宵距,推送服務(wù)也可以正常運(yùn)作腊尚。極光SDK互相拉起。
2.機(jī)型:小米 MI 4LTE 系統(tǒng):6.0.1
操作:從后臺(tái)應(yīng)用列表劃除應(yīng)用
結(jié)果:UI進(jìn)程满哪,remote進(jìn)程都被干掉了婿斥,所有包名下的服務(wù)都被干掉,包括前臺(tái)服務(wù)哨鸭。干干凈凈民宿。
開(kāi)機(jī)監(jiān)聽(tīng)無(wú)法檢測(cè)到。
微信那些主流APP已經(jīng)在小米白名單里像鸡,跟系統(tǒng)進(jìn)程一樣開(kāi)機(jī)就存在了活鹰。
3.機(jī)型:OPPO A33 系統(tǒng):5.1.1
操作:從后臺(tái)應(yīng)用列表劃除應(yīng)用
結(jié)果:UI進(jìn)程,remote進(jìn)程都被干掉了只估,所有包名下的服務(wù)都被干掉志群,包括前臺(tái)服務(wù)。干干凈凈蛔钙。
開(kāi)機(jī)監(jiān)聽(tīng)無(wú)法檢測(cè)到锌云。
微信那些主流APP已經(jīng)在小米白名單里,跟系統(tǒng)進(jìn)程一樣開(kāi)機(jī)就存在了吁脱。
判斷結(jié)果:
1.上述試驗(yàn)告訴我們什么宾抓?
除非能像微信子漩、QQ等大牌應(yīng)用獲取廠(chǎng)商支持,默認(rèn)添加進(jìn)白名單石洗,否則其他應(yīng)用在用戶(hù)主動(dòng)殺死應(yīng)用后(在后臺(tái)應(yīng)用列表中幢泼,滑動(dòng)刪除應(yīng)用),都無(wú)法存活讲衫,包括推送子進(jìn)程缕棵。
當(dāng)然,像NEXUS涉兽,LG招驴,索尼這類(lèi)不是本土品牌的手機(jī),則可以存活枷畏,原因是本土廠(chǎng)商對(duì)手機(jī)系統(tǒng)做了嚴(yán)格的限制别厘。你懂的,本土應(yīng)用太過(guò)流氓拥诡,后臺(tái)服務(wù)触趴,互相保活渴肉,開(kāi)機(jī)喚醒等各種騷操作使得手機(jī)性能急劇下降冗懦,為了提高用戶(hù)體驗(yàn),讓手機(jī)更具性?xún)r(jià)比仇祭,而為之披蕉。
2.應(yīng)用保活指的是什么乌奇?
在用戶(hù)沒(méi)有主動(dòng)殺死應(yīng)用的情況下没讲,提高進(jìn)程的優(yōu)先級(jí),讓?xiě)?yīng)用不被系統(tǒng)主動(dòng)回收礁苗。進(jìn)程參數(shù)oom_score_adj(oom_adj)標(biāo)記了進(jìn)程優(yōu)先級(jí)爬凑,數(shù)字越小優(yōu)先級(jí)越高,越難被系統(tǒng)回收寂屏。
前臺(tái)進(jìn)程>可見(jiàn)進(jìn)程>服務(wù)進(jìn)程>后臺(tái)進(jìn)程>空進(jìn)程
如何提高進(jìn)程優(yōu)先級(jí)可自行g(shù)oogle
3.那究竟如何讓推送保活娜搂?在用戶(hù)不打開(kāi)應(yīng)用的時(shí)候就能接受到推送迁霎?
使用廠(chǎng)商自家的推送服務(wù)。
也就是說(shuō)百宇,你要支持華為用戶(hù)考廉,那么就接入華為推送;你要支持小米用戶(hù)携御,那么就接入小米推送昌粤。
信鴿推送可以減少接入多個(gè)廠(chǎng)商的工作量既绕,可以了解其SDK文檔。(截止目前涮坐,信鴿支持的第三方廠(chǎng)商凄贩,有華為、小米袱讹、魅族疲扎;OPPO剛出了自家的推送服務(wù),信鴿還沒(méi)有捷雕;VIVO壓根沒(méi)有自家的推送服務(wù))