苹果的iOS系统一直以流畅著称,而Android系统经过几代更新,流畅度终于从原来的被秒杀升为了不分上下,但不知道有没有人发现,即使现在最新的Android 7.0,自身流畅度很高,但在与iOS系统对比时,会存在微妙的差异,似乎还是iOS系统更加流畅、跟手,这到底是为什么?
当我们使用手机时,解锁、滑动等操作iOS系统就表现出了流畅的一面,但Android产品却给人一种反应慢、不跟手的情况,这是为什么?
其实这与两个系统的优先级有关,iOS对屏幕反应的优先级是最高的,它的响应顺序依次为Touch--Media--Service--Core架构,换句话说当用户只要触摸接触了屏幕之后,系统就会最优先去处理屏幕显示也就是Touch这个层级,然后才是媒体(Media),服务(Service)以及Core架构。
而Android系统的优先级响应层级则是Application(应用)--Framework(框架)--Library(图像处理)--Kernal架构,和显示相关的图形图像处理这一部分属于Library,你可以看到第三位才是它,当你触摸屏幕之后Android系统首先会激活应用,框架然后才是屏幕最后是核心架构。
因此,优先级不同导致了iOS产品以及Android产品在操控过程中表现的差异。在滑动屏幕是,iOS系统会优先处理Touch层级,而Android系统则是第三个才响应Library层级,这是造成它们流畅度不同的因素之一,但不是绝对的。
目前手机的处理器等硬件配置已经达到了瓶颈期,各大旗舰产品在硬件比拼中基本上没有太大变化,而GPU就成为了差异化最重要的体现。
一般来说一些大型3D游戏对于GPU要求较高而,苹果的Power VR SGX系列GPU一直是以高性能著称的。
为iOS系统对于图形的处理都是基于GPU硬件加速,可以减轻CPU运算的压力但是Android为了适配不同硬件的手机,需要满足各种差异配置。
所以很多图形特效处理大部分都要靠程序本身进行加速和渲染,并严重依赖CPU运算的操作自然会加大处理器的负荷,从而出现卡顿的问题。
虽然在Android4.0以后的系统中都默认开启了硬件加速,但依旧无法做到运用GPU加速全部的图形特效。
屏幕优先响应,再加上iSO本身GPU加速程序的特性,使得iOS系统在操作中拥有不错的流畅性,iOS系统的这些流程本身都是在为流畅服务。而GPU加速这点特性,应该是它优于Android系统流畅性的又一个因素。
上面的两个原因,似乎已经可以大概解释为什么iOS相比Android更为流畅的原因。但最终还有一个问题是应用程序,在Android上似乎系统自带的软件很少出现卡顿,而一旦安装一些第三方应用后,卡顿问题就逐渐出现,这究竟是为什么?
因为iOS系统的封闭性,对于APP的开发框架有极为严格的限制,所以APP在iOS系统上运行对象比较单一。