为什么iOS比Android更好用?

本文探讨了iOS与Android在流畅度方面的差异,从响应优先级、硬件工作配置、开发机制及系统设计等方面进行了深入分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

什么是“好用”?在用户看来,“好用”也就是“不卡顿”,也就是我们所说的流畅度了.

首先,我们谈论的并不是近一两年的安卓系统与ios系统之间的对比,毕竟随着安卓设备硬件的不断提升,他们之间的“流畅度”基本上已经差别不大了.不存在内存紧张的问题了.

回想起大概7,8年前的时候,华为手机在刚买的时候还是不错的,但是几个月之后,内存到顶了,手机的卡顿就很明显了.

接下来我就来简单介绍一下数年前为什么它们之间的流畅度如此悬殊:

一、响应优先级不同

  1. iOS对屏幕反应的优先级是最高的,它的响应顺序依次是Touch-Media-Service-Core架构.简单来说,当用户只要触摸了屏幕之后,系统最先响应的就是屏幕显示(也就是Touch这个层级),然后才是媒体(Media), 服务(Service)以及核心架构(Core).
  2. Android系统的响应层级是Application-Framework-Library-Kernal架构,和显示相关的图形图像处理这一部分属于Library,显而易见,响应层级的第三点才是屏幕.当用户点击了屏幕之后,Android系统首先会激活应用、框架,然后才是屏幕,最后是核心架构.

       在iOS中UI渲染过程具有绝对的优先等级,当用户接触到iPhone的触摸屏后,iOS中所有的进程都将停止,UI线程拦截了所有的事件,系统会将所有资源用于渲染UI过程,以保证用户界面的实时渲染优先级。

       而在Android系统中UI渲染过程的优先级别却没有那么高,也就是说当你触摸Android手机屏幕的时候,系统后台的程序并没有停止,仍然在继续运行之中,比如下载和查收短信,这样系统UI获得的资源就不够,这就是Android系统不够流畅的原因。

       

        简单的说,也就是:IOS系统在运行的时候会“欺骗用户”,在用户提出了操作请求之后,IOS系统会停下手中对所有工作先跑过来告诉用户说“我来啦我来啦~”,然后在去完成具体的准备工作.

而Android系统在收到用户的请求后,会将一切的准备工作都完成之后,再出来迎接用户说“我来啦~”.

      「举个🌰:」同样打开相同的网页,Android手机就会直接将整个网页全部加载同时渲染HTML,这无疑就增加了处理器的压力。iOS手机则是先打开这个网站,然后再加载网页的内容,所以用户就会看到网站在“转圈圈”,显得好像是“这网站真慢……”

 

 

 

二、硬件工作配置不同

      目前智能手机硬件装备竞赛当中,其实处理器等配置已经达到了一个瓶颈期,各家公司的产品在硬件比拼中基本上已经拉不开太大的差距了,这时候,GPU就成了凸显差异的重要因素.

iOS系统对图形图像的各种特效处理都是基于GPU硬件进行加速的,它可以不用完全借助CPU或者程序本身,而是通过GPU进行渲染以达到更加流畅的操控表现.

然而Android系统则需要使适应不同的手机硬件,需要满足各种差异配置,所以很多的图形特效都需要依靠程序本身来加速和渲染,那些严重依赖CPU运算的操作自然会大大的增加处理器的工作负荷,从而就会出现卡顿的现象.

 

三、开发机制不同

Android的编程语言是JAVA,而iOS的则为Objective-C,不过要是说Android系统之所以有些卡顿是因为JAVA开发语言的关系,或者是拿它和Objective-C对比肯定会有人提出质疑。Objective-C的优势是效率高但比较“唯一”,而JAVA的优势则是跨平台不过运行效率相对偏低,其实这两个编程语言所带来的机制不同,就已经造成了各自系统之间的流畅性差异化。

注:Objective-C不是C语言,它拓展了C语言使它具备面向对象设计的能力,同时在Objective-C的代码中可以有C/C++的语句,它可以调用C的函数,也可通过C++对象访问方法.

Android的JAVA编程本身运行效率比Objective-C低一些,而且再加上内存自动回收的机制,所以造成了一些卡顿不流畅的现象出现.

 

  • 什么是内存回收机制呢?

在C语言中程序员每次完成一块内存空间的使用后都需要手动实现释放,而在JAVA语言中,有垃圾收集器GC(Garbage Collection)自动管理内存的回收,程序员不需要通过调用函数来释放内存.

这看似对程序员的开发过程来说是一件好事,但实际上,由于我们计算机中的内存空间是有限的,如果存在有大量的临时对象的JAVA代码,并且当不再需要这些对象也没有取消对这片内存空间对引用,那么就很有可能达到内存极限.

 

而当我们的设备内存告急了的时候,卡顿现象就出现了……

所以,简单来说,JAVA就是“占着茅坑不拉屎”.

 

不过,现代的JAVA虚拟机效率已经不再是最大的瓶颈.

四、系统设计不同——安卓APP无法统一

有了优先级、GPU以及两个系统各自编程以及机制的问题,似乎已经可以说明为什么iOS相比Android更加流畅的原因了,但最终还有一个原因就是应用程序.

由于iOS产品的封闭性,所有APP的运行对象都很单一,每个APP都运行在iOS的产品中的,它们拥有着很高的硬件利用率.因为iOS系统配件的供应商也就那么几家,CPU也是一年换一次,而Android终端年年变甚至可以说是月月变,「例如:它们的型号不固定,需要开发者针对不同机型设置不同的分辨率参数」,所以相对来说,安卓的开发成本就会较高且成本收益较慢.

这样一来,iOS因为软硬件垂直整合而整体收益,苹果自然也就保证了应用自身与其硬件产品之间的完美结合.


写在最后:

不管是iOS是真的比Android流畅还是仅仅只是“感觉”比Android流畅,其中原因其实很简单.

苹果每年会花一年甚至两年的时间去开发设计一个桌面icon,一种字体,并做测试屏幕点位,而相比之下安卓鲜少有如此“精致”的产品.

有网友说的好:Android做的更多的是“让系统跑起来”,而iOS拥有苹果做的更多的则是“让系统以最高的效率跑起来”,或许这就是iOS产品比Android更流畅的原因吧.

记得我在上学的时候,老师曾说过,好的产品就是把用户当傻子,为什么呢?如果你留心的话就会注意到,苹果系列的产品在初次使用时会有各种引导操作,当然也包括了许多用户可能不了解的快捷操作,而安卓的手机则仅仅将这些内容写在了它们的产品说明书中.试想一下:你购买电子产品后,会认真阅读说明书吗?这也是苹果产品广受欢迎的原因之一吧~

当然,这篇文章写下的时候其实安卓手机与苹果手机之间的流畅度已经不再像以前那样大的差距了,现在再纠结“买安卓手机还是买苹果”这个问题已经意义不大了~

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值