苹果的iOS系统一直以流畅著称, 而Android系统经过几代更新, 流畅度终于从原来的被秒杀升为了不分上下, 但不知道有没有人发现, 即使现在最新的Android 7.0, 自身流畅度很高, 但在与iOS系统对比时, 会存在微妙的差异, 似乎还是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层级, 这是造成它们流畅度不同的因素之一, 但不是绝对的。
硬件工作区别:iOS基于GPU加速
目前手机的处理器等硬件配置已经达到了瓶颈期, 各大旗舰产品在硬件比拼中基本上没有太大变化, 而GPU就成为了差异化最重要的体现。
一般来说一些大型3D游戏对于GPU要求较高而, 苹果的Power VR SGX系列GPU一直是以高性能著称的。
为iOS系统对于图形的处理都是基于GPU硬件加速, 可以减轻CPU运算的压力但是Android为了适配不同硬件的手机, 需要满足各种差异配置。
所以很多图形特效处理大部分都要靠程序本身进行加速和渲染, 并严重依赖CPU运算的操作自然会加大处理器的负荷, 从而出现卡顿的问题。
虽然在Android4.0以后的系统中都默认开启了硬件加速, 但依旧无法做到运用GPU加速全部的图形特效。
屏幕优先响应, 再加上iSO本身GPU加速程序的特性, 使得iOS系统在操作中拥有不错的流畅性, iOS系统的这些流程本身都是在为流畅服务。 而GPU加速这点特性, 应该是它优于Android系统流畅性的又一个因素。
系统设计区别:安卓APP无法统一
上面的两个原因, 似乎已经可以大概解释为什么iOS相比Android更为流畅的原因。 但最终还有一个问题是应用程序, 在Android上似乎系统自带的软件很少出现卡顿, 而一旦安装一些第三方应用后, 卡顿问题就逐渐出现, 这究竟是为什么?
因为iOS系统的封闭性, 对于APP的开发框架有极为严格的限制, 所以APP在iOS系统上运行对象比较单一。
……