增加android的北タ瘢活的方案

第一次在簡書上發(fā)文章,有點緊張宪彩。

在android團隊和各大廠商的努力下休讳,以前的那種啟動一個應(yīng)用,后面會跟著啟動一堆服務(wù)的情況越來越少見尿孔,android手機現(xiàn)在的使用在我個人覺得俊柔,已經(jīng)比iOS差不到哪兒去了。因為android干掉了一個對于用戶非常惡心活合,對于開發(fā)非常有用的東西——背簦活。

首先介紹下卑字福活是什么東西留晚,在我們的實際app開發(fā)中,有很多的產(chǎn)品經(jīng)理非要設(shè)計出一些違反常規(guī)的功能告嘲,需要我們的手機和我們的服務(wù)器保持長連接错维,服務(wù)器實時的下發(fā)一些數(shù)據(jù)給我們的手機。對于長連接很好解決橄唬,利用普通的網(wǎng)絡(luò)IO或者是NIO都能解決需五,但是當(dāng)我們的應(yīng)用進程在手機資源不足或者是第三方安全軟件的強殺下,我們的應(yīng)用進程就會被干掉轧坎,這個時候宏邮,任何的長連接都會被斷掉。這個時候就催生了一種技術(shù)——备籽活蜜氨,就是保證我們應(yīng)用進程的活性。

在以前android沒有注意到這方面的時候捎泻,膘祝活的手段非常多,但是最有效的莫過于進程互拉笆豁。當(dāng)我們啟動一個應(yīng)用郎汪,我們的應(yīng)用會再后臺啟動一段jni代碼赤赊,再里面fork一個子進程出來,然后我們的應(yīng)用進程和子進程定時互相檢測煞赢,當(dāng)有一方停掉的時候抛计,另外一方給拉起來,這就是我們闭罩活收到吹截。

但是手機發(fā)展到5.0之后,出線了一種叫殺掉進程組的東西凝危,就是當(dāng)我們退出應(yīng)用或者是調(diào)用手機任務(wù)管理器波俄,清除應(yīng)用的時候,殺掉的這個應(yīng)用所在的進程組的所有進程蛾默,那么子進程也同樣會被殺掉懦铺。以前最有效的保活手段支鸡,一樣的灰飛煙滅阀趴。

最近在簡書里面看到一篇文章,寫辈源遥活的,其實那些手段我也試過棚菊,但是負(fù)責(zé)人的告訴大家浸踩,再新版本的系統(tǒng)上,這些都是無用功统求。检碗。。github上的那些框架也就是框架而已码邻,并沒有什么大的作用折剃。下面根據(jù)手機QQ給大家介紹一個提高活躍度的保活方案像屋,但是這個方案只是提高活躍度怕犁,并不能完全保活己莺。奏甫。。凌受。阵子。其實利用了一個很簡答的東西推送。

下面假如是一款及時通訊軟件:

1)將Service設(shè)置成為前臺進程(這樣當(dāng)手機資源不足的時候胜蛉,不會強殺這個應(yīng)用)

2)集成推送(這片文章提高活性主要就是利用這個挠进,下面來說說這個方案)

推送是什么就不說了色乾,基本每款app都集成了推送。下面來介紹一些推送的原理领突,當(dāng)我們的應(yīng)用啟動的時候暖璧,我們啟動了推送的SDK,會有一個推送的pushId(有的叫token)當(dāng)我們需要推送的時候攘须,將需要推送的pushId和推送的內(nèi)容利用網(wǎng)絡(luò)請求發(fā)送到推送服務(wù)器漆撞,然后推送服務(wù)器根據(jù)pushId找到客戶端,然后利用“推送通道”將消息下發(fā)到手機于宙。推送通道其實就是推送SDK和推送服務(wù)器的長連接浮驳。

上面知識介紹一個原理,跟我們提高崩炭活的方案還沒有多大的關(guān)系至会,正題從這里開始。

其實推送的SDK也是一個進程谱俭,各大廠商也是想破腦袋來保證推送的活躍度奉件,某推(具體不說了,怕被說打廣告)出了一個方案昆著,一個推送在一臺手機里面只有一個推送通道的連接县貌,當(dāng)一個手機里面有一個集成了這個推送的應(yīng)用啟動X推的推送通道,那么這個手機的所有應(yīng)用就都能收到消息了凑懂。

基于這個原理煤痕,我們可以在我們的手機里面也集成推送,服務(wù)器端定時發(fā)送透傳的心跳消息接谨,當(dāng)我們手機收到推送的時候摆碉,檢查下我們長連接的service是否還存活,如果存活就不處理脓豪,如果不存活巷帝,那么就啟動這個Service。這樣就能提高應(yīng)用的活躍度了扫夜。其實這是個很簡單的方案楞泼。。笤闯。现拒。

增加推送活性的方案:

1)推送的選型:最好選一些大廠app或者是app群體使用大的推送。App使用大那么用戶再使用某個app的時候望侈,就會啟動推送通道印蔬,這樣增加推送通道的活性也就是增加了你的應(yīng)用的活性。

2)最好是選用系統(tǒng)級別的推送:小米推送脱衙、華為推送都號稱是系統(tǒng)級別的推送侥猬,推送通道永遠不死例驹。

3)多家推送集成:我們可以一口氣集成集中系統(tǒng)級別推送+一個app群體大的推送,根據(jù)手機系統(tǒng)類型判斷退唠,小米手機就啟動小米推送鹃锈、華為手機就啟動華為推送,其他的系統(tǒng)就啟動第一個選擇的app群體大的推送瞧预。這樣是把第一個和第二個結(jié)合起來的屎债。(最后這個方案,也可以用在依賴推送的應(yīng)用上垢油,增加推送到達率

這樣的做飯不能保證完全活躍盆驹,但是會增加你的應(yīng)用的活性,畢竟死馬當(dāng)做活馬醫(yī)滩愁。躯喇。。硝枉。廉丽。。

如果有問題妻味,歡迎大家評論和留言給我哈正压。。责球。焦履。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市棕诵,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌凿将,老刑警劉巖校套,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異牧抵,居然都是意外死亡笛匙,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進店門犀变,熙熙樓的掌柜王于貴愁眉苦臉地迎上來妹孙,“玉大人,你說我怎么就攤上這事获枝〈勒” “怎么了?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵省店,是天一觀的道長嚣崭。 經(jīng)常有香客問我笨触,道長,這世上最難降的妖魔是什么雹舀? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任芦劣,我火速辦了婚禮,結(jié)果婚禮上说榆,老公的妹妹穿的比我還像新娘虚吟。我一直安慰自己,他們只是感情好签财,可當(dāng)我...
    茶點故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布串慰。 她就那樣靜靜地躺著,像睡著了一般荠卷。 火紅的嫁衣襯著肌膚如雪模庐。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天油宜,我揣著相機與錄音掂碱,去河邊找鬼。 笑死慎冤,一個胖子當(dāng)著我的面吹牛疼燥,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蚁堤,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼醉者,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了披诗?” 一聲冷哼從身側(cè)響起撬即,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎呈队,沒想到半個月后剥槐,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡宪摧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年粒竖,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片几于。...
    茶點故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡蕊苗,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出沿彭,到底是詐尸還是另有隱情朽砰,我是刑警寧澤,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站锅移,受9級特大地震影響熔掺,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜非剃,卻給世界環(huán)境...
    茶點故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一置逻、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧备绽,春花似錦券坞、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至倍靡,卻和暖如春猴伶,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背塌西。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工他挎, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人捡需。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓办桨,卻偏偏與公主長得像,于是被迫代替她去往敵國和親站辉。 傳聞我的和親對象是個殘疾皇子呢撞,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,614評論 2 353

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

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,077評論 25 707
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)饰剥,斷路器殊霞,智...
    卡卡羅2017閱讀 134,652評論 18 139
  • 版權(quán)聲明:本文為LooperJing原創(chuàng)文章绷蹲,轉(zhuǎn)載請注明出處! 自己曾經(jīng)也在這個問題上傷過腦經(jīng)古沥,前幾日剛好有一個北...
    LooperJing閱讀 29,680評論 98 481
  • 入學(xué)春暖花開岩齿,畢業(yè)碩果累累 尚學(xué)堂與傳智播客擇校記 人說,人最幸福的年華莫過于在對的時間遇上對的人苞俘,一點都沒錯盹沈。然...
    HitFeaZoon閱讀 255評論 0 0
  • 我是正確的,但是沒什么用;我是對的乞封,但是結(jié)果依然沒有改變做裙;我是正確的,但是好像還是處理不好事件肃晚。很多的時候锚贱,我們...
    趙程沖閱讀 314評論 0 0