android 8.0的後台機制可不可以為國內用戶帶來ios般的體驗?
我的重點是1.國內用戶2.可以限制軟體後台的行為並且推送消息不受到影響。
我在酷安的幾大後台管理軟體下都寫了一篇文字,那其實就是我的基本訴求,因為沒有gcm,我無法忍受軟體全部在後台至少留著1個進程或者服務,而且會沒有任何限制的活動,但是如果完全殺死,就又失去了推送通知。 不知道是不是我過於糾結這個點,我對安卓8.0預覽版的其他更新項目完全沒有興趣,我只是單純的認為,在國內:耗電-完全殺死-沒有通知。想要通知-不殺死-後台各種喚醒-耗電。在這樣的死循環里,我對安卓的後台機制深惡痛絕,我現在可以有通知的軟體全部來自google play,依然存在頻繁喚醒。可能是我強迫症吧,但我真的喜歡安卓,但是我感覺我慢慢的無法在我生存的地方繼續喜歡安卓了
這是我在早前的理解,然後我想問問在知乎的各位大神,在國內,安卓軟體的所有開發者真的是完全不管生態這回事的,真的就是上層怎麼要求,就怎麼開發,沒有任何的規範和制約嗎?我感覺在國內不使用vpn的情況下,國內的軟體圖標都是千奇百怪的。所以我一直有一種錯覺,國內的安卓軟體都是能用就好,當然也不乏好的精品軟體。
所以,當我對軟體的ui,操作都無望的時候,我感覺我對安卓的後台機制也快無望了。然後8.0發布了,能不能在國內實現我的訴求呢?這是一個深刻的問題…………「消息通知」 「流氓軟體自啟」 「休眠」 「阻止運行」等等這些關鍵字讓我有了很多想法,能不能和你們討論下
挺長時間之內,我一直在用各種辦法,來使「國內」安卓系統的第三方軟體後台機制更適合我自己,所以使用了酷安的各類軟體和模塊,用來規避流氓軟體給續航和性能帶來的負面影響,(包括了大部分的xposed模塊)。現在整理一下,想和各位作者和酷友們討論一下,會不會有文中最後的那一類模塊或軟體出現我把第三方軟體分為三類,分別為工具類,社交類,和通訊類,這樣區分他們的要求只有一個,「消息通知」。而這三類我又將他們的工作情景限定在熄屏/亮屏,前台/後台中需不需要「消息通知」。我對這三類軟體的區分如下(重點為社交類)(情景分為軟體前台/後台,系統熄屏/亮屏) 1.工具類:「不需要消息通知」 比如計算器,文本翻譯,wps,和修圖類等」一大部分「類似的工具類軟體這類軟體我通常用阻止運行或者冰箱直接幹掉,也就是說軟體只有在「前台」這一個情景中才發送任何通知,並且是否「後台運行」由用戶控制,如果選擇不後台,那麼不允許保留任何服務和進程(直接殺死),並且不允許喚醒和自啟動 我說的那種情況很多模塊和軟體都可以實現,比如阻止運行,綠色守護。也是最容易解決的問題。2.通訊類:「必須需要即時消息通知」
比如qq,微信,陌陌,釘釘等一「小部分」類似電話和簡訊的軟體(人群不同,軟體的重要性也不同)這類軟體需要的是一直要在後台運行服務,來保證消息的即時通知,這類軟體因為是重要的交流軟體,所在在軟體前台/後台,系統熄屏/亮屏這四個情景下都不能殺死或過多干預,否則就會影響整個軟體的使用價值。所以阻止運行和綠色守護等等這些模塊都要把這些軟體排除,而這些軟體的後台進程也只能依靠酷安評論區的修改版(類似qq評論區的精簡版)和寫輪眼使他們的後台安分點
3.社交類(重點):需要通知,但「不需要即時的消息通知」 比如微博,貼吧,知乎,淘寶,等軟體(人群不同,需求可能有偏差) 這類軟體需要的是「需要消息通知,但好像並不需要你一直運行,而且消息通知也不需要卡在秒上,推送的遲一點也沒有問題」(個人需求)。但是最尷尬的就是這類軟體,你想要他推送通知,就要在軟體後台,系統熄屏/亮屏,這三個情景下繼續保留大量的進程,而且充斥著大量流氓軟體和瘋狂的自啟動以及全家桶喚醒,你把它完全像第1類一樣殺死還不行,不殺死,他就會出現我的困擾。所以對第3類軟體的要求應該是:我需要消息通知,在軟體前台,系統亮屏這2個情景同時發生時接受「即時消息通知」,而在軟體處於後台時,不管系統熄屏還是亮屏,推送消息不一定非要像qq和微信那樣。基於這個要求,阻止運行和凍結類模塊並不適用於第3類社交類軟體的要求,而休眠就是一個方向。那麼重點來了,可不可以依照這個思路,就是,第3類軟體一旦「進入後台」,就不區分系統是否處在熄屏或者亮屏,而是通過定時休眠來控制功耗和性能,定時喚醒來接受消息。比如:當那一類軟體進入後台,不再區分系統處在熄屏或是亮屏(完全不考慮是亮屏還是熄屏),而是立即進入休眠狀態,區別是,在30分鐘後,系統將會將休眠的軟體完全喚醒一次,時間為特定時間,比如1分鐘,這個時間內軟體喚醒,並不做限制,軟體開始推送消息,一分鐘以後,重修將它們休眠,如此循環,也就是說,如果你每天睡9個小時,剩餘的15個小時你會「固定」收到大概29次(排除每次固定喚醒的一分鐘)第三類應用的「集體」通知。以上僅僅是我的想法,因為總是受不了要清後台,但清了又沒消息,而谷歌總是說要弱化多任務欄的後台清理功能,回歸多任務,問題是,在國內,根本弱化不了,而我想的辦法就是把不太重要的社交軟體做成定時喚醒,定時休眠。從而讓後台變成第一類,無後台 ,不需要清理。第二類,有後台,不清理。第三類,有後台,不需要清理,定時休眠,定時喚醒。這樣才可以讓多任務按鍵回到多任務啊。不然的話,後台不清,耗電卡,後台清理,清乾淨了沒消息,清不幹凈,喚醒繼續跟你玩。
我不知道有沒有實現的可能性,所以看看有沒有人和我想的一樣國內雖然沒有gcm但是並不是沒有這種推送服務,目前做的比較好的是小米的mipush 目前主流app除了QQ微信都支持,話說QQ微信就算支持也是常駐後台方便回復吧。
提示題主,gcm現在已經升級為fcm了,但是聽說國內也要統一喚醒方法…不過估計bat不會遵守…
綠色守護用著不爽的話,推薦黑域,很好用…
而且兼容綠色守護,兩個一起用也可以…googlepay下載,需要付費開啟全部功能……沒有googlepay的話,可以免費使用全部功能…作者是一個很nice的人!還是酷安常客…以下轉載於,綠色守護大神的帖子,希望幫助你們。
Android O的後台控制策略顯然還是防君子不防小人的西式思維。
對後台服務和自啟動廣播的限制僅針對面向O(targetSdkVersion&>=26)開發的應用。
這是什麼概念呢?打一個不嚴謹的比方,這就好比國家出台房產限購政策,但只對主動申請被限的購房者實施。你可以想像,一眾Push SDK團隊看到這個消息時的心情,那簡直是如釋重負啊,然後通知客戶『為了確保推送的可靠性,請開發者不要升級target sdk版本到26』。
對交叉喚醒基本沒有施加有效的約束(原因參見上一條)。即便是target O的app,startService()這個介面在後台被廢了,但是bindService()沒有被限制,它將很快取而代之,成為毒瘤的主流喚醒方式。連環喚醒將繼續施虐……
總而言之,『交叉連環喚醒』是沒有進入中國市場的Google完全無法能理解的東西……
Foreground service(典型特徵是通知欄有一條劃不掉的通知)完全免於所有後台限制。可以想像,以後你的通知欄可能真的沒法直視了……
----- 題外話 -----
Google在處理target SDK version(一個用戶基本不可見的App開發內部設定)的方式是典型的技術型思維,而缺乏經濟學手段的運用。每一次的target升級帶來的都是更多的束縛,卻沒有與之匹配的『誘惑』。怎麼指望開發者會升級到更高的target SDK version呢……
----- 2017.4.3 更新:還是說點積極的吧 -----
即便是應用沒有target O,其實在Android O上也還是會受到一些限制。其中最顯著的一個限制就是後台wake-lock。Android M 和 N 上,息屏並保持靜止一個小時後,doze啟動,wake-lock才會釋放;從Android O開始,應用的進程一旦空閑(通常也就是後台服務結束)或終止,wake-lock就會立即釋放。但只要還有後台服務還在運行,wake-lock就仍然要等到doze啟動後才會釋放。
次要一些的限制還有對後台請求定位的響應頻次限制,Android O下所有應用都只能得到大約每小時數次的位置更新。
以上對全部應用的限制,也算是聊勝於無吧。
----- 2017.5.18 更新:DP2 帶來的希望 ----
從Android O DP2開始,即便應用沒有target O,用戶現在也可以在系統設置中主動激活針對任何應用的後台限制(僅就原生Android O而言)。這也算是Google的一個曲線策略了,就如同當年Android 4.3時的AppOps隱藏設置。但是否會導致應用功能異常,以及限制程度與target O有否差別,就需要進一步觀察了。
補充:驗證發現DP2的後台限制對MiPush SDK的後台進程無效,依然可以長期存活。
跟題主思路大體相似,我感覺黑域還是一個不錯的解決方案,或者...換MIUI?
畢竟國內的安卓生態正處於估計也將會長期處於這個xx的階段。
不知道題主用什麼手機,下面僅以我尿崩並且依然不講究的1+3T為例:
手機里app 107+,分三類:
(電池優化里的高級優化已經開啟)
- 需要獲取實時信息的(微信 即刻 網易雲 知乎)
- 必須的功能類(夜間屏幕 SSR)
- 其他
BAT的應用基本都在其他裡面了,因為平時對這三家的應用需求確實比較少。
可能是曾經用WP養成的習慣了…
首先第一類:
微信 :
黑域白名單+任務列表鎖定+電池優化+後台活動關閉
微信是有FCM的,就是比較殘。
自己試驗過好多次,微信的FCM貌似只負責拉起已經進入後台緩存的微信,即後台緩存中的微信收到FCM的通知以後會首先從後台緩存狀態轉換為後台服務和進程,而微信一旦轉換成為後台服務和進程後就不再通過FCM接受信息。
所以針對微信來說最好的辦法就是殺掉後台進程和服務只讓他保存後台緩存。
這樣既能夠保證有小姐姐給我發來信息時我能夠及時的開撩(由於雞肋的FCM)又不會有過多的電量和性能開銷(因為是緩存)。
簡直完美
總之,要想微信的FCM起作用,微信的狀態必須是後台緩存。後台進程和服務、前台進程、直接完全殺死,這三種情況下微信的FCM都不會發揮作用。
即刻:
黑域白名單+任務列表鎖定+電池優化+後台活動開啟
我的老夥計們,不清楚你們用不用這個App,不過這似乎和我沒什關係,愛 用 不 用
即刻最近一次更新剛剛支持了FCM,不過他的FCM依然和國外那些妖艷404app不一樣,
這個app相比BAT簡直乖多了。
和微信一樣的是他的fcm也是需要保留後台緩存,但和微信不一樣的是,只要他的後台緩存沒被清,就一直能通過FCM接收消息,真的就是實打實的接受消息並且不會像微信那樣把應用拉到後台進程和服務常駐,只有在你打開即刻時才會轉換為前台進程,否則將一直處於後台緩存狀態。
真的可以說是一股清流了
網易雲音樂:
黑域白名單+任務列表鎖定+電池優化+後台活動開啟
這個就沒有FCM了,一部分原因可能是雲音樂只在國區上架了。
要收到網易雲的通知必須要後台常駐
估計沒人需要這個應用即時通知,
但誰叫我這麼奇葩呢
知乎:
黑域白名單+電池不優化+後台活動開啟
這麼處理似乎勉強可以收到消息,但並不實時。
不過我似乎對此也不是很在意
鬼知道知乎為什麼會出現在我的第一類里,
可能是他自己混進去的吧 ∠( ? 」∠)_
其次第二類:
只有夜間屏幕和SSR兩個應用
黑域白名單+電池優化+後台活動關閉
鑒於1+3T那可以在晚上照亮我的美並且綽綽有餘的屏幕
以及為了能夠讓我保持浸淫在404全家桶的資本主義腐蝕中。所以這兩個應用就像
我愛你,如鯨向海,鳥投林,不可避免,退無可退。
(話說作者是誰來著??
最後第三類:
黑域 不待機,強行停止+電池優化+後台活動關閉
就是平常不怎麼用的App、諸如那些用來充話費、買女裝、下載和學習哲學與藝術資料的APP等等.....這個就不多比比了,你們心裡都有點兒那啥數的。
最後的結果
或者你們喜歡看這個的話
寫在最後:
以上是我經過多次不嚴謹的實驗的出來的不嚴謹的實驗結果,僅供參考。
話說統一推送聯盟也是剛剛才有個苗頭而已,要等到形成有效戰鬥力那一天估計還有一段路要走。
所以,還是請坐和放寬
畢竟,誰都有不順利的時候
自己的nexus 6p就是奧利奧的版本,後台限制那根本沒啥多大效果,各種app相互喚醒,綠色助手能難防,還是直接root,切斷互相喚醒
對大廠來說,有自己做推送的可能性,就沒理由用別廠的。
再好的Android系統到了你國某些開發者手裡也能變成垃圾,除非Google和水果一樣閉源化外加嚴格審核,對了用的也不叫Android,叫基於AOSP的發行版
這裡說一說題外話,就算能夠擁有如題主所說的,殺死進程-保持通知-點選通知喚醒APP這樣的流程,也不會達到如IOS般的體驗,在重新喚醒APP的速度上必然會比IOS慢一些。
人家用的可是nvme的SSD……不記得在哪兒看過應該是超過400MB/s的讀取速度。
至於現在的UFS2.1應該還是速度稍嫌不足的。
寫入速度差不多,不過打開APP主要看的是讀取速度不是嗎?
在小體積APP上體現不出來,騰訊家族的一串APP……包括盲者農藥等,載入速度差異應該會體現的比較明顯吧
對於樓主的這個話題,我有濃厚的興趣。本人使用華為的手機,感覺華為在省電管理方面做得挺好的。樓主有沒有研究過華為手機的做法?
剛從iphone換成xperia 看著你們聊這些東西就頭大 什麼綠色守護 什麼黑域 什麼root 什麼許可權 手機是個工具 你們卻當個祖宗供起來折騰伺候 是用工具還是找個小祖宗啊 我寧可少裝幾個app都懶得折騰這些
推薦閱讀: