十万万个为什么|苹果手机运存小,为什么流畅度反而胜于安卓?

十万万个为什么

- 知其然,知其所以然 -

科普

第 23 期

你能一口气想到几个原因

苹果手机运存高吗?

不高,与安卓机型比,少的不是一星半点。

安卓机型已经发展到8G运存,而苹果手机的运存最高也才3G,处理器最高也才6核(如iPhoneX)。

吊诡的是大家都感受到苹果手机却比安卓手机流畅度要高,这就不得不让人佩服了。

虽然安卓手机已经做了很大改善,不像当初那般稍微用的久一些,就会频频卡顿。但在手指触碰到屏幕的那一瞬间,还能感受到安卓特色般的“生硬”感,不像苹果手机“干脆利落”带来的别样流畅感

这到底是什么原因造成的呢?

一、系统环境迥异

买IOS赠手机”可以说是对苹果系统最生动的描述了,事实也证明IOS系统不负众望。

IOS凭借着强大的统一性和可控性,让一切程序都是井然有序的运行。

打个比方,IOS系统就像一支政令统一、纪律严明的武装部队,一道命令下去,很快就能落实

反观Android就不同了,除了要保证现有的硬件能有顺畅运行,还要确保那些厂商提供的各种未知的组合硬件,可控环境差很多。

这就好比一支部队除了要打仗,还有兼顾修路等各种杂七杂八的事,职责模糊,一旦任务发生冲突,自然也就无所适从,影响效率

二、优先次序不同

大家或许都有这样一种感受:

同一个应用程序,在苹果手机上和安卓手机上打开时,后者总比前者慢那么一点。

这是什么原因造成的呢?那是因为二者的响应顺序不同。

IOS对屏幕的响应顺序是:触摸→媒体→服务→架构,而安卓是:程序→框架→屏幕显示资源→架构

这也就是说,打开一个应用程序时,触摸的一瞬间苹果手机就有反应了,而安卓手机还有“考虑”一会才有反应

这个过程看似很短,但在具体使用过程中,还是明显能够感觉到。

结果苹果手机自然要给人的感觉快一些。

三、开发环境不同

Android采用的是 Java虚拟机堆技术,而IOS的开发语言为Objective—C

Java虚拟机堆技术本质上是一次解释多条命令,通过多开虚拟机堆提高解释成指令的速度,提高了java软件在手机上运行的速度。

说的更直白些就是一道命令下达时事先需要解释,这就造成cpu在等待数据过程中浪费时间,数据从手机内存到cpu需要时间。

而解释又不是一次就能搞定,可能需要多次才可以解释完成指令,送到虚拟机里执行。

这就像一个公司董事长要举行活动,然后把任务下达给各部门经理并做了详细介绍,然后再由中层领导向普通员工传达,由于沟通不到位,需要董事长、经理、员工之间多次沟通才能把事情搞清楚

这样自然要耽误时间,慢下来也在情理之中了。

Objective—C在运行过程中不需要虚拟机在中间插手,是系统本身运行程序的执行过程,执行效率自然很高。

好比董事长直接面对底层员工,省去中层领导这个环节,效率自然会高一些

四、运行机制不同

IOS的后台是“伪后台”,Android的后台是“真后台”

这是什么意思呢?

IOS在运行时看起来打开了很多应用程序,但是除了当前运行的之外,其他的程序在后台都处于“睡眠”状态。

就像你用苹果手机同时打开了微信、支付宝、微博、王者荣耀等应用程序,如果你当前用的是支付宝,其它几个则就不再运行

而Android就不一样了,只要不手动退出,后台程序就会一直处于运行之中。

也就是说如果你现在用的是支付宝,而其它几个程序看似没有用,其实仍然还在运行

还有就是Android系统都是很多手机厂商定制的,往往捆绑大量软件,不得不用很高的内存来支撑。

五、国内外环境不同

使用国外安卓手机的或许都有一个感受,虽然流畅度和苹果有点差异,但不像国内的那么明显。

这就纳闷了,难道外国的月亮就比较圆么?

事实上,这都是国内手机软件造的孽,我们平时下载的App还常驻后台,相互唤醒。

也就是说看似我们关掉了某个APP,实际上它们一直在后台藏着偷偷活动

更为可恶的是如果我们打开某个APP,它总要拖家带口,甚至把隔壁老王也一起叫上,这样不卡才怪呢。

国外的这种情况就要轻很多,顺畅度自然也就好很多了。

还有就是国内的App下载后,CPU的负荷度远超国外的,这就好比一个人总是处在很紧张很大压力下,整个人能精神起来吗

- END -

近期热点文章回顾(点击即可阅读)

张一鸣和马化腾隔空互怼 背后的原因是什么?

很好奇:小米都要上市了 可华为为什么不上市?

小米:别只羡慕我上市 我将要渡的这些劫你知道吗?

滴滴投资人“搞”滴滴 真是大义灭亲吗?

小米开“同股不同权”先河,“同股不同权”是什么意思?

……

(0)

相关推荐