为什么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强大的色彩管理使得根本不需要最优质的屏幕也可以调教出最优质的显示效果之一。