安卓手機的運存已達到16GB,為何目前iPhone手機的卻還是隻有4GB?

為和平而唱


    對於蘋果手機,一個程序佔用4G的運行內存,只有2G運行內存的iphone 6s等舊機型,運行依然很流暢。而安卓手機,幾十個應用程序共享16G的運行內存,為了能夠持續佔用後臺,防止被關閉,還經常在後臺搞事情,比如“相互喚醒”等,所以安卓手機的內存越來越大。

    蘋果手機內存小,但是夠用,原因有兩點:

    統一推送機制

    iphone的消息推送是系統級的,獨立於應用,也就說即便手機關機了,開機後仍然能夠收到新的微信消息。

    iphone的消息推送要經過蘋果服務器(安卓系統也有,那就是谷歌的GMS,但是國內環境下無法使用),iphone的消息推送是設備與蘋果服務器之間的通訊,而不僅僅是設備與服務商之間的點對點通信,如下圖所示▼。

    比如微信的服務器會給蘋果服務器發出通知,然後再中轉到你的設備。對於安卓系統來說,每個應用需要一個單獨的後臺進程,才能收到各自服務器發送的通知。

    蘋果通過統一推送,簡化了設備本身的通訊,只需要一個端口與蘋果服務器通訊即可。而安卓手機,各個應用開啟不同的端口與各自的應用服務器通訊,常駐後臺,導致內存總是不夠用。


    蘋果的後臺機制

    蘋果的IOS系統,應用切換到後臺之後,僅僅保留了一張截屏然後關閉應用,後臺消息通知通過蘋果服務完成,幾乎不佔用內存空間,內存完全可以為前臺用用服務,也就是說前臺應用獨佔4G運行內存。同時,得益於蘋果NVMe閃存,喚醒後臺應用時,可以迅速加載。


    安卓系統,底層採用了Java虛擬機的機制,所有的應用統一有Java虛擬機調度,後臺應用仍然佔用內存空間。這些年來,安卓系統也一直在優化,自從android 4.4之後,流暢度提升明顯,但是仍然無法徹底拜託java虛擬機。


    總之,我國的安卓生態十分為用戶詬病,APP在後臺的無節制活動,同時有安卓系統自身的開放性,應用開發者為了自身服務考慮,申請了更多的資源,一個APP動輒幾百兆的內存消耗十分常見,幾十個應用十多個G就沒了,所以國內安卓手機運行內存越大越好。

如果覺得對你有幫助,可以多多點贊哦,也可以隨手點個關注哦,謝謝。


分享到:


相關文章: