Service的奔谔活機(jī)制

經(jīng)過(guò)整理可行的方案有以下四種,最好配合使用:
1.前臺(tái)服務(wù)
前臺(tái)服務(wù)是被認(rèn)為是用戶(hù)已知的正在運(yùn)行的服務(wù)阶剑,當(dāng)系統(tǒng)需要釋放內(nèi)存時(shí)不會(huì)優(yōu)先殺掉該進(jìn)程罩息,前臺(tái)服務(wù)必須有一個(gè) notification 在狀態(tài)欄中顯示。

NotificationCompat.Builder nb = new NotificationCompat.Builder(this);
nb.setOngoing(true);
nb.setContentTitle(getString(R.string.app_name));
nb.setContentText(getString(R.string.app_name));
nb.setSmallIcon(R.drawable.icon);
PendingIntent pendingintent =PendingIntent.getActivity(this, 0, new Intent(this, Main.class), 0);
nb.setContentIntent(pendingIntent);
startForeground(1423, nb.build());
【可行性】此方法對(duì)防止系統(tǒng)回收有一定的效果个扰,可以減少被回收的概率,但是系統(tǒng)在內(nèi)存極低的情況下葱色,該Service還是會(huì)被kill掉递宅,并且不一定會(huì)重啟。而清理工具或者手動(dòng)強(qiáng)制結(jié)束苍狰,進(jìn)程直接掛掉办龄,并不會(huì)重啟。

2.監(jiān)聽(tīng)系統(tǒng)廣播
通過(guò)監(jiān)聽(tīng)系統(tǒng)的一些廣播淋昭,比如:手機(jī)開(kāi)機(jī)俐填、解鎖屏、網(wǎng)絡(luò)連接狀態(tài)變更翔忽、應(yīng)用狀態(tài)改變等等英融,然后判斷Service是否存活,若否則啟動(dòng)Service歇式。

【可行性】Android系統(tǒng)在3.1版本以后為了加強(qiáng)系統(tǒng)安全性和優(yōu)化性能對(duì)系統(tǒng)廣播進(jìn)行了限制驶悟,應(yīng)用監(jiān)控手機(jī)開(kāi)機(jī)、解鎖屏材失、網(wǎng)絡(luò)連接狀態(tài)改變等有規(guī)律的系統(tǒng)廣播在android3.1以后痕鳍,首次安裝未啟動(dòng)或者用戶(hù)強(qiáng)制停止后,應(yīng)用無(wú)法監(jiān)聽(tīng)到。Android N取消了網(wǎng)絡(luò)切換廣播笼呆。

3.應(yīng)用之間互拉
利用不同的app進(jìn)程使用廣播來(lái)進(jìn)行相互喚醒熊响,比如支付寶、淘寶诗赌、天貓汗茄、等阿里系的app,如果打開(kāi)其中任意一個(gè)應(yīng)用境肾,其它阿里系的app也會(huì)喚醒了剔难,其實(shí)BAT系都差不多。另外現(xiàn)在很多推送sdk也會(huì)喚醒a(bǔ)pp奥喻。

【可行性】多個(gè)app應(yīng)用喚醒需要相互之間有關(guān)聯(lián)才能實(shí)現(xiàn)偶宫,推送sdk應(yīng)用間喚醒當(dāng)用戶(hù)強(qiáng)制停止后無(wú)法喚醒。

4.利用Android系統(tǒng)提供的帳號(hào)和同步機(jī)制實(shí)現(xiàn)
在應(yīng)用中建立一個(gè)帳號(hào)环鲤,然后開(kāi)啟自動(dòng)同步并設(shè)置同步間隔時(shí)間纯趋,利用同步喚醒a(bǔ)pp。賬號(hào)建立后在手機(jī)設(shè)置-賬號(hào)中能看到應(yīng)用的賬號(hào)冷离,用戶(hù)可能會(huì)刪除賬號(hào)或者停止同步吵冒,故需要經(jīng)常檢測(cè)賬號(hào)是否能正常同步。

//建立賬號(hào)
AccountManager accountManager = AccountManager.get(mContext);

Account riderAccount = new Account(mContext.getString(R.string.app_name), Constant.ACCOUNT_TYPE);
accountManager.addAccountExplicitly(riderAccount, mContext.getString(R.string.app_name), null);
ContentResolver.setIsSyncable(riderAccount, Constant.ACCOUNT_AUTHORITY, 1);
ContentResolver.addPeriodicSync(riderAccount, Constant.ACCOUNT_AUTHORITY, new Bundle(), 60);

//開(kāi)啟同步
ContentResolver.setSyncAutomatically(riderAccount, Constant.ACCOUNT_AUTHORITY, true);

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末西剥,一起剝皮案震驚了整個(gè)濱河市痹栖,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌瞭空,老刑警劉巖揪阿,帶你破解...
    沈念sama閱讀 221,695評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異咆畏,居然都是意外死亡南捂,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)旧找,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)溺健,“玉大人,你說(shuō)我怎么就攤上這事钮蛛”掮裕” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,130評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵魏颓,是天一觀的道長(zhǎng)缚去。 經(jīng)常有香客問(wèn)我,道長(zhǎng)琼开,這世上最難降的妖魔是什么易结? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,648評(píng)論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上搞动,老公的妹妹穿的比我還像新娘躏精。我一直安慰自己,他們只是感情好鹦肿,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,655評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布矗烛。 她就那樣靜靜地躺著,像睡著了一般箩溃。 火紅的嫁衣襯著肌膚如雪瞭吃。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,268評(píng)論 1 309
  • 那天涣旨,我揣著相機(jī)與錄音歪架,去河邊找鬼。 笑死霹陡,一個(gè)胖子當(dāng)著我的面吹牛和蚪,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播烹棉,決...
    沈念sama閱讀 40,835評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼攒霹,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了浆洗?” 一聲冷哼從身側(cè)響起催束,我...
    開(kāi)封第一講書(shū)人閱讀 39,740評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎伏社,沒(méi)想到半個(gè)月后泣崩,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,286評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡洛口,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,375評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了凯沪。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片第焰。...
    茶點(diǎn)故事閱讀 40,505評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖妨马,靈堂內(nèi)的尸體忽然破棺而出挺举,到底是詐尸還是另有隱情,我是刑警寧澤烘跺,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布湘纵,位于F島的核電站,受9級(jí)特大地震影響滤淳,放射性物質(zhì)發(fā)生泄漏梧喷。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,873評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望铺敌。 院中可真熱鬧汇歹,春花似錦、人聲如沸偿凭。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,357評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)弯囊。三九已至痰哨,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間匾嘱,已是汗流浹背斤斧。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,466評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留奄毡,地道東北人折欠。 一個(gè)月前我還...
    沈念sama閱讀 48,921評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像吼过,于是被迫代替她去往敵國(guó)和親锐秦。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,515評(píng)論 2 359

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