日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
盤點流氓App駐留后臺的奇技淫巧

和iOS相比,安卓是一個更加開放的平臺,帶來了更多自由的同時,也容許了更多“法外之地”。App在安卓系統(tǒng)中的限制比iOS更小,這令安卓孕育出了很多流氓App。盡管Google一直嘗試對后臺增添更多限制、理清安卓的生態(tài),但流氓App們見招拆招,使出了各種喪心病狂的手段來駐留后臺。流氓App駐留后臺有哪些奇技淫巧?一起來看看吧。

成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供芙蓉網(wǎng)站建設、芙蓉做網(wǎng)站、芙蓉網(wǎng)站設計、芙蓉網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、芙蓉企業(yè)網(wǎng)站模板建站服務,10年芙蓉做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。

很多App都會注冊大量的后臺服務,這些后臺服務會消耗額外的資源和電量

安卓系統(tǒng)的后臺機制

我們先來談談安卓的后臺機制,這可以讓我們更清晰地得知為何流氓App為何容易駐留在后臺。安卓是一個基于Linux的操作系統(tǒng),因此其后臺機制也和Linux類似——一般情況下,返回桌面時程序并不會推出后臺,而是在后臺持續(xù)運行,當系統(tǒng)需要更多資源的時候,相應的程序才會被請出去。

安卓并不是隨便清理后臺的進程的,在安卓系統(tǒng)中,App分為Foreground_App(前臺應用)、Visiable_App(可見應用)、Secondary_App(二級應用)、Hidden_App(隱藏應用)、Content_Provider(內(nèi)容提供器)、Empty_App(空應用)等狀態(tài)。當內(nèi)存不足的時候,系統(tǒng)會優(yōu)先終止Empty_App進程和服務,將內(nèi)存釋放出去;內(nèi)存再次吃緊,就開始對Content_Provider動手腳了,以此類推。因此,越重要的進程會越得到保留,越無關重要的進程會越被優(yōu)先清理出內(nèi)存,這方案乍看之下沒啥問題。

安卓把App狀態(tài)分成不同類型,自動管理后臺是否駐留

然而事情并不盡如人意,流氓App之所以流氓,就是不守規(guī)則。安卓系統(tǒng)中留有太多余地讓App在后臺自由發(fā)揮了,就算是Android 6.0引進了Doze打盹機制、Android O倡導后臺純凈(Background-free),流氓App們?nèi)阅懿宦暡豁懙卦诤笈_龍盤虎踞。如果沒有使用特別的殺后臺工具或者對后臺有特殊限制的ROM,流氓App們甚至能讓手機化身續(xù)航兩小時的暖手寶。

流氓App駐留后臺技巧:亂注冊狀態(tài)

前面提到,安卓把App分為好幾個狀態(tài),不過流氓App可不會遵守這些規(guī)矩,讓后臺按照這些狀態(tài)來運行。例如,流氓App就可以通過startForeground來把自己注冊成為前臺應用,讓自己的后臺成為***優(yōu)先級,永遠不會被系統(tǒng)干掉。

安卓7.0對很多后臺運行的App都在通知欄有公示,后來這些App不得不改變后臺駐留的方法

不過,這個方法已經(jīng)有了Google官方的應對,在安卓4.3以上的系統(tǒng)中,如果有App亂注冊這個狀態(tài),通知欄就會顯示“XX正在后臺運行”。盡管流氓App通過一些手段一度繞了過去,但在安卓7.0中Google封堵了該漏洞。如果你升級到了安卓7.0,某App在通知欄持續(xù)顯示“XX正在后臺運行”,不用懷疑,這就是個流氓App。

流氓App駐留后臺技巧:透明懸浮窗

這是個腦洞大開的一招,我們知道和iOS不同,App可以在系統(tǒng)中顯示懸浮窗,為用戶提供各種實時信息。而開了懸浮窗的App,會一直運行,進程不會被隨便清理掉。于是流氓App就在這方面動歪腦筋了,某流氓App會在設置一個1像素大小的透明懸浮窗,用戶是看不到的,但這懸浮窗的確存在。App退到后臺后,由于有懸浮窗的存在,進程也得以保留。

這個方法也已經(jīng)被Google所察覺,在新版的安卓系統(tǒng)以及很多第三方ROM中,App已經(jīng)不能隨便申請到懸浮窗的權限。

流氓App駐留后臺技巧:亂請求喚醒

用過安卓的朋友都知道,流氓App最煩人的一點就在于胡亂自行啟動,這和流氓App們胡亂請求喚醒是密不可分的。安卓系統(tǒng)擁有喚醒機制,App可以同某些具體事件,觸發(fā)特定動作。例如到了時間,App可以觸發(fā)鈴聲;又例如連上了網(wǎng)絡或者間隔一段時間,App可以觸發(fā)數(shù)據(jù)同步動作。這些動作都需要喚醒App才能運行,于是流氓App就把頻頻使用“Alarm”、“Sync Adapter”等周期性任務喚醒自己,讓自己不斷在后臺啟動,這也是很多殺后臺App無法徹底干掉流氓App后臺進程的原因。

流氓App通常利用廣播接收器觸發(fā)后臺自啟動

對此,Google官方也嘗試使用對齊喚醒機制來解決。在安卓6.0中Google引入Doze機制,讓后臺進程盡量在統(tǒng)一的周期中同時喚醒,使CPU得到盡可能長的休眠時間。不過,這個機制并不夠激進,需要手機無操作靜止較長時間才會工作,總體而言效果有限。如果用戶使用手機頻度較大,Doze機制甚至不會生效,流氓App們依然會不斷吞噬著手機電量。

安卓6.0引入的Doze模式,旨在讓App統(tǒng)一喚醒,但并不能徹底解決問題

流氓App駐留后臺技巧:進程相互喚醒

除了利用安卓系統(tǒng)的喚醒機制,流氓App們還可以利用進程來相互喚醒。一方面,流氓App可以在后臺注冊多個進程,就算某個進程被干掉,也可以用其他進程來喚醒——如果你仔細觀察,可以發(fā)現(xiàn)很多App都在后臺注冊了不止一個進程,為的就是不斷喚醒;另一方面,流氓App們還可以抱團相互喚醒!當你開啟了A應用后,它的進程可能會喚醒B應用,B應用的進程接而又會喚醒C應用,這種“鏈式喚醒”在國內(nèi)的App中尤為常見,令人防不勝防。

用綠色守護能觀察到很多App都是由其他App喚醒的

“鏈式喚醒”如此常見,是有原因的。由于Google服務的缺失,很多國內(nèi)App為了實現(xiàn)推送和廣告等功能,不得不使用一些第三方的SDK。這些第三方的SDK往往就會讓App抱團喚醒,不少App其實不想耍流氓,但用了這些第三方SDK,也不得不變流氓。當然,解決方法還是有的,有心的開發(fā)者可以在使用流氓SDK的時候,接入Project Condom這個開源庫(點此進入Github主頁),避免“鏈式喚醒”。

Google也知道進程喚醒的問題所在,于是安卓8.0的開發(fā)規(guī)范要求App一旦進入后臺,需要在短時間內(nèi)停止所有的后臺服務,也不可以隨便啟動新的后臺服務。至于這個效果如何,目前安卓8.0尚未普及,還有待觀察。

流氓App駐留后臺技巧:沆瀣一氣

這應該就是***的大招了!如果流氓App本身就和ROM有勾結,這App無疑就獲得了***通行權,無論如何也不會被干掉。例如,你何時看到過原生安卓會干掉Google Play(別說Play服務不流氓)?國內(nèi)的一堆ROM也不會干掉自家的流氓推送服務,還得靠推送來賣廣告呢。

面對這種情況,用戶基本上是無能為力的。或許基于AOSP的第三方ROM可以解決問題,但并不是所有設備都有條件刷機。

總結

實際上,安卓的生態(tài)已經(jīng)近似于惡性循環(huán),流氓App們不斷找方法駐留后臺,而各種ROM為了對付流氓App,對后臺限制又日益收緊,這令安卓漸漸缺失了最初的賣點。為此,業(yè)界也在想辦法解決流氓App的問題,例如就有開發(fā)者提出了Android綠色應用公約(點此查看),國內(nèi)也打算聯(lián)合開發(fā)者們建立統(tǒng)一的App推送機制,減少App后臺駐留的必要性,希望安卓的生態(tài)最終還是可以越來越好吧。


網(wǎng)站題目:盤點流氓App駐留后臺的奇技淫巧
當前URL:http://www.5511xx.com/article/djpccdj.html