为什么iphone这么流畅

如题所述

因为iOS的执行效率很高,没有一个中间层的过度,而Android则麻烦一些,基本上应用都要经过虚拟机,执行效率会有所降低,运行速度当然也会被损耗。那么,两款手机硬件配置相同,那么iOS运行一个程序肯定是要比Android运行一个程序要快。

而Android是Google基于Linux的,严格意义上讲Android并不是一个Linux系统,它没有Linux的xwin,没有glibc,缺乏一整套标准的Linux程序。Android应用绝大部分都是使用JAVA开发,跑在Dalvik虚拟机上(一小部分使用NDK)。

扩展资料:

在手机领域,苹果iPhone的地位同样不是靠硬件配置得来的,甚至单从配置来看,iPhone也可以称得上惨不忍睹。

在八核处理器已经普及的时代,iPhone旗舰在用双核;在3GB运行内存成为主流的时代,iPhone旗舰运存才1GB;在手机像素突破2000万成为常态的时代,iPhone旗舰依然是800万像素。

影响处理器性能的因素真的不只核心数和主频那么简单,像工艺制程、晶体管数量、缓存都是主要影响因素。所以苹果iPhone看起来配置那么低,却好用不卡。

参考资料来源:人民网—iPhone低配高能原因解析

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-01-31

渲染机制不同

Android没有iOS流畅的根本的原因是,iOS的UI渲染采用实时优先级,而Android的UI渲染遵循传统电脑模式的主线程普通优先级。

通俗点说就是iOS对屏幕反应的优先级最高,用户只要触摸屏幕,系统就会最优先处理屏幕显示这个层级,马上给出动画效果,然后才处理媒体、服务、核心的架构。

而安卓则是追求进程优先,触摸屏幕后的手机屏幕显示和动画效果放在比较后的优先级。同样打开相同的网页,Android手机就会直接将整个网页全部加载同时渲染HTML,这无疑就增加了处理器的压力。因此对于Android来说,一个高效的双核处理器是很重要的。

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

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

后台机制不同

安卓手机的后台是真后台,像PC一样,将应用保留在RAM中,当使用HOME键退出应用时,程序实际上并没有完全退出,而是被系统挂在了后台,为何我们关掉了聊天软件依然能够收到消息通知,因为它常驻系统内存。包括平时收到的一些垃圾广告推送,也是因为后台有程序运行。

所以这就导致了一个现象,从内存使用上来看,安卓刚开机时内存使用很低,若不进行清理内存操作,正常使用一天,内存占用会达到75%以上。而内存占用越高,使用起来流畅度就会越低,所以安卓机器需要更大的RAM来提升用户体验。

而iOS呢,其实是采用的伪后台,当用户HOME键退出应用时,iOS其实关闭了程序,只保留应用的图像入口,只会默认将应用的最后的运行数据记录在RAM中。

之所以iOS也能收到推送,是因为当用户从应用中选择开启推送之后,系统会增加一些进程,这些进程会从苹果服务器接收信息,然后再通过服务器发给用户,苹果服务器在这里是起到了中转的作用。而正是因为有了这一系列的机制,所以即便iPhone的配置相比于同类安卓机低了很多,但是iOS还是会给人更加流畅的感觉。

iPhone执行程序的效率比安卓机高

另外,安卓系统的编程语言是Java,特点是通用性强,效率低。而iOS的则为Objective-C,专一性强,效率高。

iOS系统本身优化得很好,而且程序也是直接执行,所以效率很高。而安卓系统是通过Java虚拟机来执行,系统需要占用大量内存来换取执行速度,也就是要绕了个大圈才执行程序,所以效率低很多。

本回答被网友采纳
第2个回答  2020-12-23

为何iPhone很流畅,安卓手机用久了就卡顿?鸿蒙系统指的期待!

第3个回答  2018-01-31
和安卓系统不一样,是独立的系统。
第4个回答  2020-03-19
这实际上是一个技术问题,涉及到iOS与安卓两个操作系统的设计原理。
首先,安卓机上大内存,这是个中国特色,也就是说只有中国国内销售的安卓机才会.上这么大的内存,海外版的安卓机主流内存基本和苹果差不了太多。大家可以自己去查一下, 华为的P30,海外版的1 28G硬盘的型号只配4G或6G内存,而中国版的P30,64G硬盘的型号却配上了8G内存;海外版的安卓机,128G硬盘配4G内存比比皆是,简直不要太多,但在国内,你几乎找不到一款128G硬盘配4G内存的安卓机。这样乍一看好像我们得了便宜,可其实,这是国产安卓生态的无奈之举。
先说国内安卓机为什么上大内存吧。举-个例子,比如我们常用的微信这个APP,首先你打开微信登录账号后,你手机上的微信APP就会和腾讯的服务器保持一个长久的连接, 你发一条消息给你朋友,这条消息不是直接从你的手机上发到他的手机上的,而是你的手机将消息发给了腾讯的服务器,然后腾讯的服务器再发给你朋友。这个时候就有-个问题,如果你朋友手机上的微信APP处在关闭状态下,那么即使腾讯服务器把消息发过去了,他也收不到,因为他的手机上微信APP已经完全关闭了,E经和腾讯服务器断开连接了,只有当他再次打开微信的时候,连接恢复,他才能收到那条信息。也就是说,想要及时收到消息,那么微信这个APP就不能完全关闭,需要留下一-些线程在后台一直保持运行,一直和腾讯的服务器保持接连,这样一旦收到消息,系统才能及时启动消息机制提醒你。
所以,国内安卓系统下,每- -个APP,都必须在后台(也就是内存里)留下一些线程随时准备接收外来信息,也就是说你刚打开手机还啥都没干,你手机.上所有APP的一部分线程已经悄悄启动,进驻内存,而这些后台启动的线程是无法关闭的,因为是合法的,关闭的话用户就无法及时收到消息。另外,不要小看这些后台线程的数量,-个APP在后台里留十几二十MB确实不多,但100个APP(64G硬盘的手机就能装100个APP)加起来就要吃掉将近2G的内存!
因此,国内安卓机的内存容量必须跟着硬盘容量递增,硬盘容量越大,能下的APP就越多,就越需要更大的内存来保证这些APP留在后台的线程.正常运行。
再说iOS,它为啥就不需要大内存呢?因为苹果有自己的服务器(谷歌实际上也有自己的服务器,但国内不能用,下面会说)。iOS的这个系统,必须搭配苹果公司的服务器才能正常运行。每一台iOS设备在联网的时候,i0S系统首先会和苹果的服务器建立一-个长连接。
还是微信那个例子,在iOS上,如果微信处在打开状态下,那么逻辑还是和上述安卓的一样,差距是体现在关闭微信后。如果你iPhone. 上的微信APP关闭了,会和腾讯的服务器断开,而这个时候,你朋友发了-条消息给你,这条消息先发给了腾讯的服务器,这时腾讯服务器发现你手机上的微信APP没有和服务器建立连接,那么它会将这条消息转头发给苹果的服务器,然后苹果的服务器收到后会发送给你的iOS系统,系统收到就能及时做出提醒。这样实际上是多了一个步骤,但带来的好处是你手机上的微信APP可以完全关闭,不需要留下多余的线程来接收消息,因为苹果的服务器会- -直保持接收消息,然后将消息发给手机系统,系统再做出提醒。
这样一来,苹果手机的内存就不需要跟着硬盘容量一起递增,因为即使APP完全关闭,也不影响及时接收消息。再加上i0S系统实际上不支持真正意义_上的后台运行(仅持后台听歌、下载、导航等有限几个操作,如果一个APP进入后台,10分钟内没被换到前台来,那么系统就会将它关闭,只留下临死前的一-个截图,所谓的墓碑机制),所以苹果手机的这些内存绝大部分时间内其实只为- -个APP(当前这个)服务,一个APP使用4G内存,真的是绰绰有余,有余到多的不能再多了。
插个题外话,都说苹果手机安全,注重隐私,也有这个原因,苹果手机上的APP,如果关闭了,那就是真的全部线程都关闭了;而安卓,由于每一个APP都必须在后台留一些线程一直运行,有的无良APP甚至手机厂商,就不仅仅会留下接收消息的线程,还会留下偷偷开启摄像头或者麦克风的线程,去收集用户数据,i这些后台的的线程,由于是系统代码层面的东西,用户根本没可能去关闭。
最后,说一下海外版安卓机为什么也不上这么大的内存,因为海外版安卓机可以使用谷歌的服务器(前段时间闹的沸沸扬扬的安卓停止对华为授权事件,实际上就是谷歌不让海外版华为连接谷歌的服务器了),而使用了谷歌的服务器,推送机制就变得和iOS- -样了,就不需要有APP自己的线程留在后台了,谷歌的服务器会帮APP们接收信息。
而由于众所周知的原因,国内安卓用户是无法连接谷歌的服务器的,那么, APP要想及时接收消息,开发者也只能使用常驻后台这个方法,而让APP线程常驻在后台,需要大量的内存支持,那国内的安卓机就只好加大内存。那么,谁来为这些多出来的内存买单呢?羊毛都出在羊身上,当然还是用户,还是消费者。这就是我们国内安卓用户的悲催之处,我们不仅要忍受隐私的泄露,还要为这样的行为买单。
目前,国内的APP驻留后台已经把国内的整个安卓生态搞的乌烟瘴气、乱七八糟。其实好多大厂想过解决方案,比如小米推出自己的推送服务,华为也有自己的推送服务,但全都收效甚微。因为没什么开发者去配合他们,- -来因为开发者适配的话需要一-个厂 - -个厂去适配,提升了开发成本和维护成本,二来APP开发商也不愿放弃常驻后台带来的利益。
目前比较值得期待的,是安卓推送联盟,这个联盟是由工信部牵头的,运行机制和iOS的推送原理差不多,如果能全面铺开,可以解决上述问题,但这一套现在还在测试阶段,还是个美好的愿望,日后能不能全面铺开还是前途未
所以,苹果不上大内存,真不是厨子抠门,因为没必要了,国内安卓机12G内存都打不过苹果4G内存,为什么?因为12G内存里,很大一部分是留给国产APP常驻后台用的。
就是这样。
相似回答