前不久,#蘋果建議不要滑動關閉後臺程序#這個話題上了微博的熱搜。app
這個話題的源頭,是由於英國的《太陽報》的一篇報道中寫道「若是您常常關閉應用程序,則 iPhone 會變慢並損耗電池。」優化
對此事,蘋果也在官方渠道發佈聲明表示「確實如此」。並表示 iPhone 電池壽命廣泛偏短的緣由,就是用戶習慣性的手動關閉應用程序,這不只會縮短電池的使用壽命,也會致使設備的速度變慢。spa
在此以前,我相信大部分人都和我同樣,認爲後臺的應用程序會佔用 CPU、消耗電量,所以會常常性的手動關閉不少應用程序。翻譯
但蘋果爲何這麼說呢?原理是啥?電池壽命真的是被咱們一下一下劃沒的麼?blog
這個觀念差別的背後,實際上是來源於用戶和官方的認知差別。ip
事實上早在 2016 年,時任蘋果軟件高級副總裁的 Craig Federighi 就針對用戶的郵件進行了回覆。內存
但這個回覆在當時並未被大部分人所瞭解。資源
而事實上,iOS 爲了讓設備減小沒必要要的系統資源開銷,並保持系統的流暢,它的後臺更應該叫作「多任務切換界面」。而這得益於 iOS 特殊的「墓碑機制」。get
名詞解析:墓碑機制簡單來講,墓碑機制就是當 App 進入後臺前將以某種形式持久化,而後釋放其正在使用的資源(包括內存、CPU等),等待 App 再次被喚醒時,將再將這個保存的狀態恢復出來,此時應用跟沒有被殺死繼續運行了同樣。it
實際上 iOS 並非嚴格意義上的墓碑機制,其在應用進入後臺時能夠向系統申請必定時間的後臺運行時間(通常不超過10分鐘),以後纔會被徹底掛起。
根據這個機制咱們能夠知道,咱們以前滑動關閉的並不是是應用程序,而是相似於應用程序的快捷打開方式。
而若是想真正的關閉一個應用程序,須要將這個應用從 RAM 中移除(好比重啓手機),這時再次啓動程序時系統須要從新調動資源,與凍結狀態相比,所佔用的 CPU 和消耗的電量更高,所以蘋果方面建議除非應用程序無響應,不然不要滑動強制退出。
固然,不排除一些應用程序會有更高的「權限」,在後臺時也會佔用系統資源,咱們能夠在「設置」中查看是否有哪些應用在濫用權限。
先放結論:並不會。這是以訛傳訛。
咱們能在不少媒體報道中看到「滑動關閉後臺應用不只沒用,還會影響電池壽命」,這實際上是由於翻譯不精準致使的錯誤傳言。
《太陽報》的原文標題是《QUIT IT!Your iPhone gets SLOWER and loses battery life if you always swipe apps closed》,這裏面提到的「battery life」被不少人翻譯成了「電池壽命」,但實際上這個詞通常表示電池的續航時間,英文語境中電池壽命通常會用「battery health」來表示。
正如咱們上文所示,滑動關閉後臺應用後,從新啓動將會消耗更多的 CPU 和電池電量,所以也會相應的下降電池的續航,和電池的使用壽命並無關係。
理論上影響電池壽命的因素目前有四個:
不少人在買賣二手筆記本的時候都會關注的參數就是「電池循環次數」,由於這個是影響電池壽命和健康程度的關鍵因素之一。
若是想要經過健康的手機使用習慣來延長手機的電池壽命,這裏有一個建議就是關閉某些應用程序的系統通知(也就是常說的彈窗廣告)。
iOS 系統不建議頻繁滑動關閉後臺的應用程序,那麼 Android 系統能夠麼?
答案是:能夠。
背後的緣由是 iOS 與 Android 的後臺機制並不相同。文章開頭咱們介紹了 iOS 系統的「墓碑機制」,而 Andriod 系統並無採用這一機制,因此大部分 Android 系統的應用程序切換到後臺後,仍然在佔用着 CPU。而滑動關閉後臺的程序也就真的是把程序給完全關閉了。
這也是爲何Andriod 系統的手機容易變卡、發燙。就是由於 Android 的運存老是很大,不過從安卓 5.0 以後,由於各大廠商對系統作的優化和硬件的迭代發展,這種狀況如今也是愈來愈少了。
總結一下咱們今天的文章,大體有如下幾個觀點:
你以爲這兩種系統的機制,哪一個更好一些?