更流畅的动画效果
iOS 的设计和体验一直有口皆碑,特别在 iPhone X 加入全面屏手势体验上,目前仍无其他设备可以完整媲美 iOS 全局手势的流畅程度,而多处系统动画效果如打开控制控制中心、多任务处理轻扫或在应用中滚动浏览,这些操作都会更流畅、灵敏。
Android 尽管拥有多种多样的快捷操作、自定义手势、全面屏手势、动画效果,但整体上的视觉效果无法带来更流畅、完整。所以很容易留下 Android 手机比不上 iPhone 流畅的感觉,而事实上,造成这种现象的原因源于很多底层因素,我们下面一一细述。
流程更简短,优先响应级别
绝大多数人使用手机时的常规操作流程为:解锁设备,进入桌面,轻触进入相应应用。往往在这个流程中,iOS 设备可以表现出更流畅的一面,Android 设备经常给人一种卡顿感,特别是手机同时运行多个应用时,Android 设备将远不如 iOS 流畅,这是为什么呢?
这与两个系统的响应优先级有关,iOS 对屏幕反应的优先级最高,响应顺序依次为 Touch>Media>Service>Core,简单来说当用户触摸屏幕后,系统会以最高优先级别处理屏幕显示,也就是触摸(层次),然后从才是媒体(Media),服务(Service)以及架构(Core)。
而 Android 的优先响应层级则是 Application>Famework>Library>kernal 架构,与显示相关的图形图像处理这一部分属于 Library,及当触摸屏幕之后,Android 系统会首先激活应用,调用框架然后才是屏幕,最后才是核心架构。
所以 iOS 能让人从上手就能感受到流畅的原因在于 iOS 诞生的目的就是为了触摸屏幕交互而设计,Android 的设计初衷是为了软件应用而开发,不过优先响应级虽然对系统流畅度具有影响,但这并不是主要原因,我们可以接着往下看更深层次的原因。
硬件加速
在硬件上,iPhone 也与 Android 手机存在不同,iOS 系统对图形的各种特效处理基本上都是基于专用的 GPU 硬件进行加速的,它可以无需借助 CPU,而是通过 GPU 进行渲染达到更流畅的操控表现。
而 Android 却不同,一方面由于 Android 需要适配不同硬件满足多种差异配置,另一方面,Android 的设计逻辑并不是为了触控服务,即使在 Android 4 之后的系统版本中,都默认开启使用 GPU 硬件进行加速渲染,但依旧无法做到所有特效全部依靠 GPU 进行加速。
后台机制
iOS 采用的后台机制逻辑为用户退出应用时,iOS 其实只是关闭了此应用,只保留了应用的图像入口,并默认将应用的最后运行数据还原到应用中,此时应用还原了之前的状态,给用户一种应用停留在后台运行的状态。
当用户开启推送后,iOS 系统将会增加进程,从苹果服务器接收信息,再通过服务器发送到用户。苹果服务器起到了中转的作用,由于这一机制,即便 iPhone 硬件参数相比 Android 设备低,但 iOS 仍然会给给予用户更加流畅的感觉。
而 Android 则不同,Android 采用的后台机制,是将应用保留在 RAM 中,当用户返回桌面中,应用实际上并没有完全退出,而是停留在后台,这也就是 Android 设备即便关闭聊天软件,依然能够受到消息通知。
两者不同的机制导致从内存使用上来看,Android 开机时内存使用很低,正常使用一天的情况,内存占用会逐渐增加,导致流畅度下降,最直观的感受就是卡顿感,因此 Android 设备往往需要更大的内存,提升用户体验。
封闭的应用商店
App Store 是 iOS 生态中最宝贵的财富之一,App Store 不仅实现了软件上的盈利,更为 iOS 中的应用设置了标准要求,每款应用一年内至多只用适配两种 CPU,极大地提高了硬件利用效率和软件开发速度。
而 Android 则不同,基于 Linux 内核和多线程地开发平台,开发成本低,此外 Android 没有像 iOS 一样拥有全封闭的 App Store,开发人员拥有相当高的开发自由度,而且还兼容多种硬件,让硬件可以天马行空不受拘束。
当然,iOS 和 Android 的应用开发各有特点,但也正是这些特点使 Android 饱受低质量软件的侵袭,使得系统的流畅和整洁度远远比不上 iOS。