理論上,安卓系統能實現墓碑機制嗎?


當然可以,但是墓碑了之後推送怎麼辦?這裡可沒有GCM

補充一點

如果說內存級別的墓碑,Android 有 SavedInstanceState 來保存一些被殺掉的組件的信息,但是把 SavedInstanceState 給渲染成能交互的界面,需要若干秒的時間(視界面複雜程度而定),從某種意義上來說和WP的正在恢復也是差不多的效果吧。不過實際上這個特性國產應用很少有實現的,要想體驗這個效果可以用 Twitter 來體會一下,白屏1到2秒後會自動恢復到你上次看的時間線位置。

我最近在寫一個App,它可以強制系統忽略掉應用的PARTIAL_WAKELOCK。實際上 PARTIAL_WAKELOCK 在國產應用中的濫用非常普遍,而通常情況下以長連接為基礎的推送只依賴 AlarmManager,並不需要喚醒鎖。初步的實驗結果是,它可以把每小時微信喚醒的時間壓縮到10秒鐘之內,而不影響消息推送。

上張圖,10小時待機,微信喚醒40秒,同時推送正常工作。

====2015年10月1日更新====

這個應用已經發布在 Google Play 上,歡迎下載: https://play.google.com/store/apps/details?id=com.linangran.nowakelock


不可能,除非你能識別出微信獲取的那1000個喚醒鎖里,有哪些是關鍵的消息拉取,然後在不影響消息拉取的情況下減少或合併其他的喚醒鎖……

我目前在用綠色守護,但綠色守護不是墓碑後台,而是把後台幹掉了,你再打開的時候墓碑也不會復活,而是原樣重新載入一遍;

我還在用Amplifer,但這也不是墓碑後台,我需要手動添加要屏蔽的喚醒鎖,幸運的是通過進程名我可以識別出一部分不必要的喚醒鎖然後幹掉它們,但總有你無法判斷或是根本就懶得管的喚醒鎖存在;

我還指望過GMS,但這貨在牆內根本用不了……

為什麼蘋果和微軟就能做到墓碑後台呢?因為從源頭——應用商店,人家就牢牢握在手裡,不聽話的應用不讓上架,上架的應用只能使用系統API推送,技術上在理想情況下Android也可以這樣,但中國市場Google鞭長莫及,在Google放任不管的情況下,應用只能各自開後台推送,在這時候你提墓碑後台,在瞅瞅這亂象,就會明白為什麼現實上不可能實現安卓的墓碑了。


為了回答題主的問題 我特意是百度了下什麼是墓碑機制 定義如下

墓碑機制是微軟Windows Phone 7手機操作系統軟Windows Phone 7手機操作系統中的一個程序運行規則。說簡單點,就是手機上一個任務被迫中斷時(如有電話打入),系統記錄下當前應用程序的狀態後,(像把事件記錄在墓碑上一樣),然後中止程序。當需要恢復時,根據「墓碑」上的內容,將程序恢復到中斷之前的狀態。這樣的一種機制就是「墓碑機制」

是不是看起來雲里霧裡的 其實就是兩個字:緩存 聽起來是不是很耳熟?對 墓碑機制用的最好的是IOS 雖然是微軟搞出來的 目前安卓陣營還真沒有 有人肯定不服氣 說android M里不是有類似功能嘛 可惜然並卵 墓碑機制的核心是緩存 表現方式是推送至系統前台 目的是省電 省資源 WP的墓碑機制是最嚴格的 不允許所用應用後台 特定後台15分鐘類不聯網 即可中斷完全退出 可惜微軟的伺服器經常大姨媽 安卓系統發展這麼多年 一直再改善 只能說目前是接近墓碑機制了

1.在設置工具里 開發者模式 不允許後台 嗯 有點作用 可惜然並卵 APP霸佔後台不走 大量系統資源被消耗 該彈窗還是彈窗 而且重啟手機後 設置消失.......

2.GMS開啟 每小時連接VPN VPS還是沒亂用 在中國大陸地區人家的APP不玩GCM .....

3.第三方工具 綠色守護?即便啟用了框架 也經常收不到消息 而且最近對付國產軟體也越來越力不從心 黑白門?凍結效果好 但是一解凍 數據66的消失了 阻止運行 ?最近比較火 用來替代綠色守護 但是解凍效果不好 持觀望狀態 android tuner 殿堂級的神器 幹掉安卓四大組件 再流氓的軟體也搞定 配合流氓終結者 再加上紅藍哥的notifyclean 軟體再也不流氓了 可以完全退出 可以暫存後台 推送隨意定製 唯一的缺陷是配置太複雜 上手難度大 建議有基礎的朋友去用 也可以先使用myandroidtools 是國人開發 也是強大的不要不要的 (我成了推廣app的了)

好了 說了這麼還是總結一下 墓碑機制的核心是緩存 重要數據緩存 不佔用後台 保持信息推送 安卓需要動手摺騰 google任重而道遠 以此共勉!


再也不吃內存了Android6.0將引入墓碑機制


Android系統或許可以。安卓系統大概不能。


魅族連這個都不知道啊


好像回答的大部分都不是在說墓碑機制,只是禁用後台自啟。看了一下,Twitter好像挺符合的,關掉了,下次進去白屏1s左右就回到了上次看的地方。

另外插一句,綠色守護在xposed下工作挺好的。微信幾乎不丟消息,當然我說的是play版的,當然是24小時科學上網的情況下。


試試黑白門,直接凍結應用。鈦備份也可以。不過就沒有推送了。非常適合配置低的機器和亂自啟的應用。


如上述答案所述,墓碑機製做的最好的是ios,所謂的偽後台,把應用做一個快照,將當前進程記錄下來後,殺掉應用。待稍後打開時,通過快照進行恢復。正好看到魅族今天發的微博,不知具體實現邏輯,也請如有大牛幫忙解釋一下。

安卓跟ios相比,實現難度在於國內應用為了獲取更多的活躍度等目的,不採用GP或者說安卓設計原則,而是自主的採用了很多「黑科技」來保證自己不被殺死、開機自啟等。通過一些列手段如懸浮窗、隱藏的view、大量service及守護進程等,來保證自己活躍。簡言之,國內沒有統一標準來要求他們遵循這套邏輯,而商業目的凌駕於道德之上,所以就造成了現狀。

嗯…啰嗦了,手機編輯…以後再補充。


有了綠色守護後,一直在使用這樣零後台的方法,基本只保留Q Q和微信這樣的通信軟體。新聞類軟體都是直接自動殺掉後台。不只省電,還不會出現一大堆煩人的通知。


看谷歌


記得之前看到一款老人ROM就是用的墓碑機制,就是不知道怎麼解決推送


推薦閱讀:

Android 應用開發的難點是什麼?
三星 Note 7 的自燃事件會對三星造成怎樣的影響?
有哪些 Android 上比 iOS 上更優秀的應用?
三星S6edge、iPhone6plus、華為mate7和一些其他品牌的旗艦機哪個更值得入手?
iOS的消息推送機制到底是怎樣的?

TAG:Android | XposedFramework |