加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码网 (https://www.900php.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 评论 > 正文

总说iPhone运行流畅不卡,Android就很卡?

发布时间:2019-04-23 23:17:27 所属栏目:评论 来源:JanePot、小布
导读:副标题#e# 买手机时,最常听到的建议是,有钱就买苹果吧,用几年都不会卡。所以即便是苹果新款手机卖出超出市面上绝大部分手机近一倍的价格,依旧有许多消费者会为之买单。因为他们相信,苹果的手机能用上更长的时间而且拥有绝佳的体验。 事实上,的确是如
副标题[/!--empirenews.page--]

买手机时,最常听到的建议是,有钱就买苹果吧,用几年都不会卡。所以即便是苹果新款手机卖出超出市面上绝大部分手机近一倍的价格,依旧有许多消费者会为之买单。因为他们相信,苹果的手机能用上更长的时间而且拥有绝佳的体验。

事实上,的确是如此,尽管安卓旗舰的配置和体验越来越好,但苹果似乎还是维持着在手机界的霸主地位。本篇文章就为大家讲述iOS为什么能做到持久不卡而Android却频繁卡机。

全面屏手势——“更流畅的动画效果”

iOS的设计和体验一直是有口皆碑的,特别在iPhone X之后的全面屏手势体验上,目前来说,还没有安卓的手机能完完整整做到iOS12上全局手势上的跟手度,而系统各处的动画效果比如打开控制中心、在多任务处理时进行轻扫,或在 app 中滚动浏览,这些操作都会更流畅、更灵敏。

安卓为什么卡,苹果凭什么不卡?

Android尽管拥有各种各样的快捷操作、自定义手势,全面屏手势,动画效果,但整体上的视觉效果并比不上iOS带给用户的流畅、完整、跟手。所以第一印象很容易会给消费者带来Android手机比不上苹果手机流畅的感觉。而事实上,造成这种现象的原因源于很多底层的原因,下文一一细说。

流程更简短,优先响应级别

当我们使用iPhone或者是Android的智能手机时,第一步就是从锁屏解锁进入到桌面,然后找到需要使用的APP点击进入。

这是绝大部分人使用手机时候的基础操作,这个时候iOS系统就表现出来了流畅的一面,但Android产品却经常给人一种卡顿的现象,特别是后期使用手机时候点开的软件多了的时候,Android就远远不如iOS流畅。这是为什么呢?

安卓为什么卡,苹果凭什么不卡?

这与两个系统的响应优先级有关,iOS对屏幕反应的优先级是最高的,它的响应顺序依次为Touch>Media>Service>Core架构,简单说当用户触摸屏幕之后,系统就会最高优先去处理屏幕显示,也就是触摸(Touch)这个层级,然后才是媒体(Media),服务(Service)以及Core架构。

而Android系统的优先级响应层级则是 Application>Framework>Library>Kernal架构,和显示相关的图形图像处理这一部分属于Library。也就是说当你触摸屏幕之后,Android系统首先会激活应用,调用框架然后才是屏幕最后是核心架构。

所以iOS能让人从上手就感受到跟手,流畅,因为iOS从一开始开发就是为触摸屏幕交互所设计,而Android则不同,Android的设计初衷是为了软件APP而开发。不过优先级对系统流畅性是有影响不假,但这并不是最主要的原因,造成两系统之间流畅性不一的现象还有其它因素,我们可以接着往下看。

硬件加速

如果说从系统底层优先级响应上,iOS已然做到了为流畅而生,那么在硬件上,iPhone也与Android手机不同。iOS系统对图形的各种特效处理基本上都是基于专用的GPU硬件进行加速的,它可以不用完全借助CPU,而是通过GPU进行渲染以达到更流畅的操控表现。

安卓为什么卡,苹果凭什么不卡?

而Android则不是如此,一方面原因是Android需要适配不同硬件以满足各种差异配置,一方面Android的设计逻辑并不是为了触控服务。当然,在Android 4之后的系统版本中,都默认开启使用GPU硬件进行加速渲染,但依旧无法做到所有特效全部都靠GPU进行加速。

屏幕最先响应的优先级关系再加上iSO本身GPU加速程序的特性,使得用户在操控过程中感觉iOS手机拥有着超高的流畅性和舒适度。因为iOS本身的整个设计流程都是在为最大化的流畅做服务,不管是第一印象的滑动触摸屏幕,还是你进一步使用程序时的操作都是如此。最后加上GPU加速这点特性,使得iOS能软硬件结合,使系统流畅性达到Android手机望尘莫及的高度。

后台机制

如果说iOS在触摸屏幕上做到软硬结合已然不错,但iOS与Andorid在软件运行时的流畅度不同,则是因为另一个明显的区别:后台机制。

安卓为什么卡,苹果凭什么不卡?

iOS采用的后台机制,当用户按HOME键(主页键)退出应用时,iOS其实关闭了该应用,只保留应用的图像入口,并默认将应用的最后运行数据记录在RAM中,当再次打开应用时,系统就会把之前保持的最后运行数据还原到应用中,此时应用还原了之前的状态,给用户一种应用会在后台运行的错觉。

那么为什么iOS中被杀死的应用也能收到推送消息呢?因为用户从应用中选择了开启推送后,iOS系统会增加几个进程,这几个进程会从苹果的服务器接收信息,然后再通过该服务器发给用户,苹果服务器在其中就起到了中转的作用。正是因为有了这一系列的机制,所以即便iPhone的“表面”配置RAM比安卓手机低,但是iOS还是会给人更加流畅的感觉。

而Android则不同,Android采用的后台机制,将应用保留在RAM中,当用户按主页键返回桌面或者退出程序时,程序实际上并没有完全退出,而是被系统挂在了后台。这就是为什么Android即便关掉了聊天软件,依然能收到消息通知,因为它是常驻系统内存的,包括平时收到的垃圾广告推送,也是因为后台程序在运行。

这机制直接导致从内存使用上来看,Android刚开机时内存使用很低,正常使用一天,如果不进行清理内存操作,内存占用就会越来越高,导致Android系统的流畅度降低,最直观的感受就是卡慢。所以安卓机器需要更大的RAM,来提升用户体验;

开发机制不同

iOS的编程语言是 Objective-C,使用编译器GCC,而GCC编译出来的代码又被iOS架构优化到了极致,运行过程中不需要虚拟机在中间插手,执行效率非常高。而且GCC使用内存是自己分配和回收的,简单说就是当GCC要操纵指针,使用完内存,当时就释放了。这导致了ios的内存使用率并不是特别高。所以iOS并不需要特别大的内存。

dfgd

(编辑:源码网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读