Android 后臺優(yōu)雅實現(xiàn)保活

對于蹦喑活目前的需求:

? ? ? ?對于很多場景用戶都需要應(yīng)用在后臺長時間的運行,但是Android系統(tǒng)會存在殺后臺進程的情況琅翻,并且隨著系統(tǒng)版本的更新位仁,殺進程的力度還有越來越大的趨勢柑贞,系統(tǒng)這種做法本身出發(fā)點是好的,因為可以節(jié)省內(nèi)存聂抢,降低功耗钧嘶,也避免了一些流氓行為。當(dāng)遇到需要在后臺運行的場景琳疏,用戶也是愿意讓它在后臺運行的有决,比如跑步類應(yīng)用,硬件長連類應(yīng)用等空盼。一方面流氓軟件用各種流氓手段進行笔槟唬活,另一方面系統(tǒng)加大殺后臺的力度揽趾,導(dǎo)致我們一些真正需要在后臺運行的應(yīng)用被誤殺台汇,苦不堪言。

如何做到優(yōu)雅崩橄梗活呢苟呐?

為了做到保活俐筋,出現(xiàn)了不少的【黑科技】牵素,比如一個像素的Activity,播放無聲音頻校哎,雙進程互相守護等两波,這些做法可以說是很流氓了,甚至破壞了Android的生態(tài)闷哆,好在隨著Android系統(tǒng)版本的更新,這些非常規(guī)的钡テ穑活手段很多都已失效了抱怔。

對于那些確實需要在后臺運行的應(yīng)用,我們?nèi)绾稳プ瞿兀?/p>

后臺運行白名單

從Android 6.0開始嘀倒,系統(tǒng)為了省電增加了休眠模式屈留,系統(tǒng)待機一段時間后,會殺死后臺正在運行的進程测蘑,但系統(tǒng)會有一個后臺運行白名單灌危,白名單里的應(yīng)用將不會受到影響,在原聲系統(tǒng)下碳胳,通過【設(shè)置】->【電池】->【電池優(yōu)化】->【未優(yōu)化應(yīng)用】勇蝙,可以看到這個白名單,通常會看到下面這兩位:

白名單

當(dāng)被別人問起別的產(chǎn)品都能卑ぴ迹活味混,為什么我們的不行的時候产雹,你就知道怎么懟回去了,大廠通過和手機廠商的合作翁锡,將自己的應(yīng)用默認(rèn)加入到白名單中蔓挖,如果你在一個能談成這種合作的大廠,也就不用做什么處理了馆衔。但對于一般的小公司怎么處理呢瘟判?

好在系統(tǒng)還沒有拋棄我們,允許我們申請把應(yīng)用加入白名單角溃。那么怎么操作呢拷获?

1.首先,在AndroidManifest.xml 文件中配置一下權(quán)限:

權(quán)限配置

2.可以通過以下方法判斷應(yīng)用是否在白名單中

判斷是否在白名單中

如果不在白名單中开镣,可以通過一下代碼申請加入白名單:

申請加入白名單

申請時會出現(xiàn)下面的彈窗:

钡段埽活彈窗

可以看到,這個系統(tǒng)彈窗會有影響電池的續(xù)航提醒邪财,所以如果想讓用戶點允許陕壹,必須進行相關(guān)的說明,如果要判斷用戶是否點擊了允許树埠,可以在申請的時候調(diào)用startActivityForResult 糠馆,? 在onActivityResult 里再判斷一次是否在白名單中。

廠商后臺管理

Android開發(fā)的一個難點在于怎憋,各個手機廠商對原生系統(tǒng)進行了不同的定制又碌,導(dǎo)致我們需要進行不同的適配,后臺管理就是一個很好的體現(xiàn)绊袋,幾乎各個廠都有自己的后臺管理毕匀,就算加入了后臺運行白名單,仍然可能會被廠商自己的后臺管理干掉癌别。

如果能把應(yīng)用加入廠商的后臺管理白名單皂岔,可以進一步降低進程被殺的概率,不同的廠商在不同的地方進行設(shè)置展姐,一般是在各自的【手機管家】躁垛,但更難的是,就算同一個廠商的系統(tǒng)圾笨,不同的版本也可能是在不同的地方設(shè)置教馆。

最理想的做法是,我們根據(jù)不同的手機擂达,甚至不同的系統(tǒng)版本土铺,給用戶呈現(xiàn)一個圖文操作步驟,并且提供一個按鈕,直接跳轉(zhuǎn)到指定的頁面進行設(shè)置舒憾,但需要對每個廠商每個版本進行適配镀钓,工作量較大,下面我已小米4C為例子進行描述镀迂,其它廠商參考相關(guān)專業(yè)文檔丁溅。

小米后臺運行設(shè)置

運行結(jié)果如下圖:

后臺運行電池設(shè)置頁面

一般當(dāng)你選擇無限制,手機出現(xiàn)熄屏后就不會出現(xiàn)后臺殺進程現(xiàn)象探遵,親測有效窟赏。具體可參考GitHub - liuxinggithub/baohuo: 優(yōu)雅保活

其它廠商的處理可參考https://www.cnblogs.com/Android-Alvin/p/12465949.html? 僅作為個人學(xué)習(xí)總結(jié)之用箱季,有借鑒網(wǎng)絡(luò)文章涯穷,若有版權(quán)問題請聯(lián)系刪除。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末藏雏,一起剝皮案震驚了整個濱河市拷况,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌掘殴,老刑警劉巖赚瘦,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異奏寨,居然都是意外死亡起意,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進店門病瞳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來揽咕,“玉大人,你說我怎么就攤上這事套菜∏咨疲” “怎么了?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵逗柴,是天一觀的道長逗爹。 經(jīng)常有香客問我,道長嚎于,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任挟冠,我火速辦了婚禮于购,結(jié)果婚禮上钓试,老公的妹妹穿的比我還像新娘芽卿。我一直安慰自己,他們只是感情好鞠抑,可當(dāng)我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著嫌吠,像睡著了一般止潘。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上辫诅,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天凭戴,我揣著相機與錄音,去河邊找鬼炕矮。 笑死么夫,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的肤视。 我是一名探鬼主播档痪,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼邢滑!你這毒婦竟也來了腐螟?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤困后,失蹤者是張志新(化名)和其女友劉穎乐纸,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體操灿,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡锯仪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了趾盐。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片庶喜。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖救鲤,靈堂內(nèi)的尸體忽然破棺而出久窟,到底是詐尸還是另有隱情,我是刑警寧澤本缠,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布斥扛,位于F島的核電站,受9級特大地震影響丹锹,放射性物質(zhì)發(fā)生泄漏稀颁。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一楣黍、第九天 我趴在偏房一處隱蔽的房頂上張望匾灶。 院中可真熱鬧,春花似錦租漂、人聲如沸阶女。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽秃踩。三九已至衬鱼,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間憔杨,已是汗流浹背鸟赫。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留芍秆,地道東北人惯疙。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像妖啥,于是被迫代替她去往敵國和親霉颠。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,472評論 2 348

推薦閱讀更多精彩內(nèi)容