很多网友感到疑惑,处理器越来越强了,内存越来越大了,为何安卓手机的运行流畅度还是不如iPhone?
其实,如今的很多品牌的主力安卓手机,例如小米MIX2s、一加6、vivo X21、OPPO R15等,其UI的日常操作流畅度已经接近iPhone的iOS,但在运行一些APP,尤其是游戏的时候,还是和iOS有些差别的。主要原因有:
一、两种系统的渲染机制不同
iOS的UI渲染采用的是实时优先级,而安卓的UI渲染遵循传统电脑模式的主线程普通优先级。
在iOS中UI渲染过程具有绝对的优先等级,当用户接触到iPhone的触摸屏后,iOS中所有的进程都将暂时停止,系统会将全部资源用于渲染UI过程,马上给出动画效果,以保证用户界面的实时最快显示,然后才去处理其他方面的资源调用需求。
而安卓则是追求进程优先,只要打开了某些APP,那这些APP就会一直占用资源,当你手指触摸屏幕后,手机显示和动画效果是放在靠后的优先级的,会视系统资源消耗情况来决定反应速度,也就出现了开的太多了会卡顿的情况。对安卓机来说,处理器性能越高,处理能力越强,给人的感觉会越流畅。
二、两者的后台机制不同
安卓手机的后台是真后台,像PC一样,将应用保留在RAM中,当使用 home键退出应用时,程序实际上并没有完全退出,而是被系统挂在了后台。为何我们关掉了聊天软件依然能够收到消息通知?因为它常驻系统内存。从内存使用上来看,安卓刚开机时使用郁率很低,若不进行清理内存操作,正常使用一段时间后,内存占用会达到比较高的比例,有可能影响到后面的使用。所以现在新手机的内存越来越大,从3GB提升到了6GB、8GB,这样就可以保证更多APP可以同时运行也不会卡顿了。
而iOS采用的是伪后台,当用户按home键退出应用时,iOS是关闭了这个程序的,只保留应用的图像入口,只会默认将应用的最后运行数据记录在RAM中,所以你点开iOS的后台,看到最近打开了那么多程序的时候,其实他们并没有真正在运行,并没有消耗多少系统资源,这就是为何iPhone手机的内存只需2GB就足够了。
三、iOS执行程序的效率更高
安卓系统的编程语言是Java,特点是通用性强,效率比较低。而iOS的则为Objective-C,专一性强,效率更高。
由于iOS的封闭性,App Store里面的APP都是在iPhone等产品上执行,硬件利用效率非常高,而且分辨率大小,硬件的更新参数也比较稳定,优化工作也容易进行,因而iPhone上的APP和硬件结合程度更高。
而安卓系统是通过Java虚拟机来执行,系统需要占用大量内存来换取执行速度,也就是要绕了个大圈才执行程序,所以效率会低一些。安卓手机的硬件配置天天变,开发者也不可能针对所有的机器型号进行开发,只能在比较主流的机器上进行测试并保证运行流畅,所以很多国产中低端安卓手机很难得到流畅的使用体验。