國外媒體對iPhone 11 Pro Max和三星Galaxy Note 10+ 5G的應用啟動速度進行對比測試,在冷啟動環節,蘋果吊打三星,但是到了熱啟動環節,三星反超蘋果。對於這個結果不值得大驚小怪,這個結果是很正常,實際上這是一個技術問題,涉及到iOS與安卓系統的一些原理。
或者我們換一個問題,為什麼iphone的執行記憶體長期以來都落後於安卓手機的執行記憶體,而且安卓機上大記憶體,也是一箇中國特色,我們可以發現只有中國銷售的安卓機往往喜歡採用很大的記憶體設計,海外版的安卓機主流記憶體其實比蘋果大不了多少。
譬如谷歌的Pixel 3的執行記憶體就是4GB,同期的iphone XS max也是4GB記憶體,而最新的Pixel 4的執行記憶體據爆料訊息也才6GB,相比國內6GB起步,8GB主流,12GB旗艦的配置,其實也是差了一大截的。
統一推送的妙用那麼國內安卓機器為什麼上大記憶體呢。這個就涉及到兩個機制,第一個就是資訊推送機制差異,國內安卓的推送方式像電腦系統,每個應用需要有後臺程序,這樣才能和各自的伺服器進行資料通訊,交換資料。所以有的時候如果你把後臺殺死後,你也接收不到推送資訊了。
簡單理解就是你必須把那個軟體開著,你才能接收資訊,關了就接收不到了,就像你把電腦上的微信關了,你在電腦上接收不到微信資訊了,可是手機不能這樣啊,所以就只能在後臺掛著微信,可是這個是需要消耗記憶體的。
所以國內安卓系統中,很多應用都在後臺保留程序,以此來保證可以及時接收資訊,而這些程序必然會佔據記憶體空間。而且很多軟體在開機的時候,相關的程序就會啟動,會消耗系統記憶體,同時這些執行緒是合法的,所以無法關閉,因為關閉的話使用者就無法及時收到訊息。
而蘋果的IOS,在這個方面就做的很好,因為蘋果為IOS引進了訊息統一推送服務,使用者在不啟動應用的情況下也能收到推送訊息,訊息由Apple Push伺服器統一管理。IOS系統是蘋果獨家的,所以蘋果規定聯網的IOS裝置必須連線蘋果伺服器才能正常執行。每一臺IOS裝置在聯網的時候,首先要和蘋果的伺服器建立連線。相關軟體的推送訊息可以通過蘋果的伺服器來進行轉發,至於你的iphone上面相關軟體是不是開啟的,並不會影響到訊息的推送。
繼續拿微信舉例子,在iphone上如果微信是開啟的,自然可以接到對方的資訊。但是關閉後,你和騰訊伺服器就斷開了,而這個時候,有訊息發給你,騰訊伺服器發現你的微信和伺服器沒有連線了,那麼它就把這個資訊傳送給蘋果的伺服器,然後蘋果的伺服器再發到你的手機上面,這樣你雖然關閉了微信,但是你還是可以及時收到資訊提醒。
從通訊的流程來看,其流程明顯要複雜一些,但好處就是手機上的應用可以完全關閉,蘋果伺服器會接收訊息,然後發給手機系統,系統再提醒你,這樣子不會出現軟體關閉後,資訊無法送到的問題,這樣子系統可以徹底的關閉軟體,可以大大的節省記憶體。
真正多工VS智慧多工第二個就是安卓和IOS的多工機制差異,iOS系統實際上不支援真正意義上的後臺多工,其後臺僅僅支援聽歌、下載、導航等幾個有限的操作,如果一個程式進入後臺,10分鐘後還是不切換到前臺,系統會將其關閉,只留下一個軟體截圖,這個就是所謂的墓碑機制。
所以iOS多工介面中的那些應用是最近使用過的程式,並不是在後臺的程式,安卓的多工切換中的那些圖片也一樣的意思。當然上面關於IOS多工機制的描述其實是不完整的,IOS 7之後蘋果改進了多工機制,實現了部分真後臺的功能,譬如後臺重新整理、推送喚醒和後臺傳輸,還能根據使用者的行為習慣,提前喚醒一些程式,不需要在開啟後重新載入,算是一種智慧後臺,感興趣的可以自行去查詢相關說明。
所以iphone的記憶體很多時候主要是為一個程式服務,相比安卓幾十個程式分12GB,其一個程式就算分2GB也要遠大於安卓,所以從這一點來說,iphone的4GB記憶體是足夠的,完全沒有必要搞8GB起步這種操作。當然這種多工也不是沒有代價,那就是很多時候軟體再次開啟的時候,實際上都是完全重新開啟的,所以在所謂的熱啟動測試種,往往會出現比安卓差的情況。
在這裡我又要插個題外話,那就是很多人都說蘋果手機安全,注重隱私,這個統一訊息推送機制也是功不可沒,因為蘋果手機上的程式,如果關閉了,那就是真的關閉了。可是安卓,每一個程式都要在後臺留一些執行緒,其實際上還是一直執行的。
有的無良軟體或者手機廠商,裝軟體的時候就要你對各種許可權進行授權,譬如手電筒需要讀取通訊錄等,而且後臺自動執行一些程序,這樣就可以去擷取資料資訊,有的還會保留開啟攝像頭或者麥克風的執行緒,在使用者不知情的情況下,開啟攝像頭和麥克風去收集使用者資料,而且這些執行緒是系統程式碼層面的東西,我們沒可能去關閉,只能寄希望於軟體開發者的良心發現。
海外安卓機執行記憶體為什麼也低那麼問題來了,為什麼海外的安卓手機的記憶體也比國內小呢?因為海外的安卓手機可以使用谷歌伺服器,而谷歌伺服器的推送機制和蘋果是一樣的,也不需要軟體在後臺繼續執行,可以徹底的關閉。這裡問一句,我們知道安卓停止對華為授權的事件,這個事件是僅僅不讓華為的手機出廠就搭載GMS服務,還是不讓海外的華為的新手機連線谷歌伺服器?望大神告知。
而目前國內是沒有統一的推送平臺的,基本上都是各自為政,小米有小米的推送,華為有華為的推送,而且各個軟體開發者也不會去遵守這些廠家的標準,總之就是十分混亂,但是再混亂也要保證使用者的資訊及時送到啊,怎麼辦?
上大記憶體,讓大家都有地方佔著就行了,那多出來的記憶體成本誰買單?肯定不會是廠家免費送就是了,而且這個還造成了上面說的安卓系統隱私性差的後果,使用者不僅僅需要忍受隱私洩漏的痛苦,還要為此買單。
當然目前有一個安卓推送聯盟,這個是由工信部主導的,執行機制和IOS差不多,如果能夠全面鋪開,那倒是可以解決上面的一些問題,目前這個聯盟還處於初級階段,至於最後能夠做成什麼樣子,還是一個未知數,願望是美好的,道路是曲折的。
小結同期的iphone處理器效能往往大幅領先安卓,加上系統機制的差異,在程式冷啟動方面,IOS戰勝安卓並不困難,而熱啟動方面由於多工差異,安卓戰勝IOS也不難。而且就現在的手機效能,這些測試的意義並不大,作為使用者更關心的其實還是使用者隱私安全問題,這方面由於IOS的統一推送機制和其系統的封閉性,導致較安卓系統優秀很多。
而同樣是安卓,海外可以統一採用谷歌伺服器的方案來提升隱私安全,而國內就沒有這個條件,只能是用更大的記憶體來解決問題,代價就是使用者隱私安全性差,同時記憶體也不是免費的,也變相提升了使用者的購機成本。