為什么IOS設備RAM運存遠遠小于Android設備,卻還能運行得比Android設備流暢?
IOS的多任務是偽多任務了,應用被切回后臺以后,系統就會將應用休眠,此時應用不占用cpu和內存,此時保持運行狀態的只有界面那個應用。然而早期的IOS采用了這種沙盒機制導致qq微信無法接受消息,于是后來蘋果推出了消息推送功能,應用廠商將消息推送給ios云,ios云再推送給用戶,目前中華區的ios云資料已經由云上貴州代理。
而Android的多任務就相對比較真實,其實相比windows也是不同的。應用切回后臺以后,應用會被停用,只占用內存不占用cpu,但是Android系統為了防止用戶接受不到后臺通知,每個應用切回后臺會開啟一個服務,服務相對于應用本身,同時占用內存和cpu,但是占用比較小。簡而言之,Android后臺有應用和服務是同時存在,所以內存占用非常大。但是Android有一個內存閾值的概念,如果剩余內存低于內存閾值,系統就會根據應用優先級殺死部分應用,有用戶反應EMUI殺后臺嚴重,猜測是華為修改了內存閾值。
理論上,Android應用層是JAVA語言,運行在google提供的虛擬機上,IOS應用層是object-c,java虛擬機效率出了名的低,所以第一次打開應用,IOS速度會快于Android。而在第二次打開以后,由于Android不會休眠應用,應用切換應該是快于IOS的。
但是,事實上,由于碎片化和過分的服務啟動,Android設備運行速度往往比不過IOS,甚至IOS系統反應機制是view優先于system,再加上IOS設備傳家的高觸控采樣率,使得IOS設備滑動帶來的視覺體驗非常流暢。另外,IOS強大的色彩管理使得根本不需要最優質的屏幕也可以調教出最優質的顯示效果之一。