Android Service到底如何優雅的保證服務盡量不被關閉?

用c代碼 fork一個子進程循環檢查的那個方法 我已經試過了,5.0以上是不行的,而且這個方法 太噁心了。有沒有稍微優雅一點的方法。注意我說的是是盡量,而不是永遠不。

比如bat 滴滴打車等 這些大廠是怎麼做的。

另外鄙視一下知乎,在設置裡面 關掉你們的服務 馬上就重啟了。素質太差?

是用alarmmanger做的么?

我看了一下 無非是下面幾個方案:

1.startforeground

2.alarmmanger

這2種比較好理解和掌握。

3.退出應用時 啟動一個一像素的頁面。說實話這個我不太理解 到底是什麼原理,

應該如何做?我退出應用的時候 你啟動一個1像素的頁面 只是暫時沒用的啊,

當你用戶啟動另外一個app的時候 你這個1像素的頁面不是依舊進入後台了么。

為什麼t家 用這個方案 miui都搞不定他們呢?

4.據說滴滴打車也是用的一像素?

5.在設置裡面關掉service 和系統內存不夠時 自動關服務 有什麼區別?


國內的ROM廠商一般會對App的後台做限制,網上公開的Trick在小米華為等手機上基本撐不過三個回合。不是騰訊牛逼,而是廠商會對常用App開白名單,比如微信和手Q這種即時性強的工具類App。原生系統用綠色守護殺掉微信,一樣也是收不到消息的。

ROM常開白名單的還有友盟推送,百度推送等大廠進程。話說以前友盟還是很良心的,多個App集成友盟,同時運行時只會有一個進程,即時性強而且省資源,不過自從被阿里收購以後就不行了……打開任意一個集成了友盟SDK的App都會自動喚醒阿里全家桶。而百度……還是不說了吧……

保證不被殺死的話,除了某些黑科技,似乎是只能想辦法讓你的App進白名單了吧,小廠和個人開發者不用想了,取巧的辦法可以集成友盟推送,然後寫個腳本定時廣播?反正我沒試過。。。我一般是在首頁彈出個對話框提醒用戶在設置中加入白名單恩。。。期待大神們有別的辦法


如何優雅地隨地大小便?


作為安卓開發者十分地反對這種行為,如果每個應用都在後台跑殺不死再好的手機不也得卡死?而且電量也會浪費得很厲害。還是真正的多為用戶考慮一下吧。


國內的優雅辦法就是讓用戶給你開白名單,別無他法


保證服務不被殺死,已經不是一個優雅的行為了


耗電增量做到 2mA 以內,然後聯繫 ROM 廠商開白名單,並聯繫手機廠商儘快讓用戶都換上 16G RAM 的手機。


其實90%+的app都沒有services的必要……包括微信之類的IM……(GCM能用的前提


思考這件事請的時候就不要提「優雅」了。

在這件事情上,「與BAT斗,其樂無窮」,專搞各種全家桶。

實際上MIUI7對系統應用也毫不留情,不該啟動的應用也不允許啟動。

如果想在MIUI上喚醒,請接入mi push:小米消息推送服務。

但是提前告知,即使接了mi push,如果頻繁推送消息,用戶也可以關閉這個應用的通知欄許可權,是的系統應用也可以關。

只要是讓用戶不爽的都統統幹掉。


最優雅的做法就是該關閉的時候老老實實的關閉。

沒事凈整這不要臉的主意幹啥玩意兒。


能罵人嗎?


http://gold.xitu.io/entry/5640a72a00b0023ca8f567a7


你們就不能把功能做得吸引人一點?非得耍流氓么?


這是一個很噁心的需求,強烈譴責!

對於小白用戶來說,你說的那幾個方法可能讓他殺不掉,但是對於會用的用戶(比如我),root之後切斷相互喚醒並且在鎖屏後自動殺掉白名單以外的應用,很easy的。微信qq是自己加到白名單了,否則他們兩個也是跑不起來的。


安卓手機就是因為有這樣的開發者才越來越卡的!!!!


最近在琢磨系統自帶的賬戶同步,

實現AccountSyncAdapter,

這個貌似可以有效保持service的活躍度


集成一個 exploit 裝好應用順便把系統 root 了唄,想常駐常駐,想自起自起,想殺三方殺三方

(逃


學習rootkit,將優雅的代碼作為內核模組載入。


我想請問一下,如果我做的是一個天氣APP,有widget,而widget有時鐘的功能,我想我的時鐘能保證正常的更新,我是不是要將更新時間的service常駐呢?要怎麼實現呢?


所有沒有被證明的猜測只能是猜測...


要麼卸載我,要麼讓我白名單,您老看著呢辦吧。


推薦閱讀:

現在市面上有哪些不錯的安卓手機?
安卓里很簡單就能做到的事情,在 iOS 里似乎要折騰半天才能做到,為什麼還有這麼多人熱衷於 iOS ?
如何看待主打加速手機的獵豹移動清理大師被歐洲安全公司AVG列為最影響手機性能和最耗電的十大應用之一?
請問,國產手機說的全網通能否達到支持境外的主流運營商。?
怎麼保養安卓手機?

TAG:Android應用 | Android開發 | Android手機 |