DaemonLibrary
使用方式
Step 1. Add the JitPack repository to your build file
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Step 2. Add the dependency
dependencies {
implementation 'com.github.wangshihu123:DaemonLibrary:v0.0.3'
}
Android後臺保活,這裏有你需要的所有姿勢。2019,最新版本。
老規矩,先上項目地址:
https://github.com/wangshihu123/DaemonLibrary
結合網上各路大神及自己的項目保活實戰(在此不方便透露項目),給出了最新的保活姿勢。(如有雷同,純屬巧合)
1.爲什麼要做Android保活?
首先我個人並不推薦也不喜歡手機應用通過各種手段後臺保活,當我們確定一定以及肯定地需要這個功能的時候,
也就只能硬着頭皮去與各個手機的後臺管理機制做鬥爭了。
(一句話,產品需求唄)
2.故事背景
我們的需求是:開啓戶外運動,需要永駐後臺,採集收據,使用過咕咚、悅跑圈的都知道。
但是不同的機型及廠家,讓我們的應用無時無刻地在後臺被殺。淚牛滿面。。。
渡盡劫波兄弟在-----做IM推送的小夥伴同樣有這樣的情況:
http://www.52im.net/forum.php?mod=viewthread&tid=429&highlight=����
還有應用保活終極系列(1-3):(分析了咕咚,樂動力,悅動圈。捎帶着科普了微信和QQ)
http://www.52im.net/forum.php?mod=viewthread&tid=1135&highlight=����
十八里神仙,各顯神通。
3.保活總結
對於後臺保活的各種手段,在網絡上比比皆是,總結下來基本是如下幾種:
1.開啓服務,設置服務殺死重生;
2.開啓服務,發送通知,設置爲前臺服務;
3.雙進程保活;
4.檢測各種系統廣播啓動應用;
5.息屏打開1像素點Activity;(QQ這麼幹的)
6.開啓服務,播放無聲音樂(七傷拳,定製OS出現鎖屏 顯示音樂播放界面,及其噁心,比如 miui);
7.優化應用內存(敲黑板,劃重點);
以上這些方式在網上都可以查詢到,但是因爲android版本不同rom不同,不一定都能派上用場,可自行查找。
這七種方法,最優秀的無非是最後一種,但我總是不去考慮他,真是壞習慣。
4.保活戰
在這次保活戰中一共涉及了個品牌的手機:
1).隨意蹂躪系:
Nexus5、Nexus6、Sony Z5、LG G4、LG G5、Samsung S6 S7(未升級到最新版本)
2).尚有尊嚴系:
小米5X、魅族Note6、OPPO R11、VIVO X9柔光雙攝照亮你的美(…洗腦真可怕)、Samsung J3 J5(升級到最新版本)、華爲P9 P10、榮耀8(當你在後臺啥都不做的時候,或者稍微動了一下)
3).寧死不屈系:
華爲P9 P10、榮耀8(當你在後臺動個不停的時候)
對於隨意蹂躪系,請你一定要好好照顧它。它們提供了原生或者接近原生的後臺管理機制,是因爲相信每個應用都是善良的,所以,不到萬不得已,不要欺負他們;
對於尚有尊嚴系,多爲定製程度較高的第三方ROM,殺死後臺也多處於其定製的功耗管理機制,嘗試過很多靈性方法,很難做到一招鮮吃遍天,但這些ROM都留下了功耗管理白名單,他們需要保證自己系統地流暢運行,同時他們也考慮到了有些應用有他們不得不說的苦(交)衷(易),所以尊重ROM廠商的限制,不要作妖,有需求,打開白名單,你好,我好,大家好。
最後是寧死不屈系,這也是遇到的最大的難題,前面有提到我的應用不僅需要常駐後臺,更需要在後臺接收設備發出的藍牙數據,也就是說我需要在後臺搞事情。
5.圍攻光明頂
以下的故事發生於我按照華爲的顯示開啓了功耗管理白名單、後臺清理白名單、忽略電量優化白名單。
於是號稱是18個月不卡頓的華爲出現了,也成功制裁了我:
首先是藍牙廣播模式,當你息屏五分鐘之後,由後臺發起的藍牙掃描就被休眠了,GG;
然後是連接模式,息屏後運行一小時,涼涼;
定位和請求網絡,也是被限制的不要不要;
服務重生+前臺服務+雙進程守護,六神裝+復活甲在手,依舊被華爲按在地上摩擦。
直到最後,武林中流傳着這樣一套拳譜,傷敵一千自損八百,名曰七傷拳:無聲音樂保活大法;
也就是在服務中循環播放一段無聲的音樂,cosplay正在播放的音樂播放器。
沒錯,確實在華爲18個月不卡頓的後臺管理下活了下來,但代價是飆升的功耗,以及多任務菜單提示的音樂播放icon。
但對於我這種特殊的應用來說,能夠常駐後臺,持續監測和記錄,纔是最重要的。
6.再續前緣
At last,還是想聊一下各個rom做出的後臺限制。
對於開發者來說,最歡迎的當然是原生這種隨意蹂躪系,但是汝之蜜糖,彼之砒霜,這種策略如果在流氓肆虐的國內市場,估計早被啃得渣都不剩了。
所以我個人覺得在國內市場環境下,尚有尊嚴系的做法挺好的,有需求就手動開啓,各取所需,一切由用戶決定;
至於寧死不屈的華爲,爲了達到18個月不卡頓的效果,做出這種慘絕人寰的後臺三光策略,有點不近人情,有點過分。
希望國內的應用市場流氓越來越少,Android手機越來越好用。