为什么苹果打开应用的速度那么快而安卓比较慢呢?

如题所述

1.iOS设备硬件高端,iOS家族里面没有低端设备,而Android家族则有不少低端设备;Android的高端机器也不是如主流观点一样都是硬件性能逆天的,比如之前很多Android旗舰用的Tegra 3处理器就存在内存带宽小而影响性能发挥的问题,高通的Adreno系列GPU的实际性能也不算特别好;反观iOS机器,比如ipad 4的PowerVR SGX 544MP4,iphone 5的PowerVR SGX 543MP3,都是移动GPU里的高端型号,更有高内存带宽支持,性能很好;至于CPU,虽然Android家族已经很多四核机器了,iOS家族基本还是双核,但是核心数量和性能没必然的关系,你能说红米的MTK四核CPU比你电脑的英特尔双核CPU还强吗?iOS设备的CPU性能也属于优秀水平。

2.Android的应用大部分都是用Java语言开发,编译成一种“中间代码”,在Dalvik VM虚拟机上运行,程序运行时还要通过虚拟机对“中间代码”进行编译才能运行,运行效率不高,更耗费硬件资源,只有少部分应用,比如游戏之类的,要求性能的,会使用Android NDK进行C/C++开发,不过也不能算纯粹的Native程序;而iOS的应用使用Object-C语言进行开发,编译成可直接运行的二进制代码,都是Native程序,运行效率高,消耗资源更小;参加过算法竞赛的人都知道,Java在时间和空间方面的要求都会比C/C++宽松一倍,就因为Java程序运行效率较低;同时,Android的程序有着更为自由的后台运行能力,相比iOS的多任务机制,Android的多任务要消耗多一点的硬件资源。

3.苹果拥有多年的操作系统研发经验,在iOS上采用了很多优化和设计来实现流畅的运行,比如使用GPU绘制界面,高帧数的动画,高优先级的界面渲染和触摸响应等等,流畅并不等于速度快,iOS的运行速度很多时候其实并不快,只是用了高帧数的过渡动画,使你感觉这是一个连续的过程,不至于有断续感,从而感觉到运行很快,其实功能机的运行速度也很快,但就是缺少了过渡动画,没有给人那种连贯的感觉,比如打开存有大量短信的短信程序,功能机耗时是1s,iOS耗时1.5s,理论上功能机快,但iOS的过渡动画让人觉得速度更快;而Android早期一直是谷歌的移动广告平台的定位,直到Android 4.0发布之后,才可以说是成为谷歌重点支持的移动操作系统,所以,Android 4.0之后的Android版本在各方面才有了巨大提升,Android很多对性能有极大帮助的特性都是Android 3.0时才出现的,Android系统底层所做的优化相对不足,比如Android 3.0以下的版本都无法使用GPU绘制界面,即使Android 4.x,也要打开“强制GPU渲染”才能在全局使用GPU绘制界面,还有界面渲染框架的效率不高等问题。

4.使用智能手机更多是在使用各种应用,苹果iOS平台的应用生态环境相比谷歌Android平台要好很多,精品应用为数众多,这些精品应用质量都很高,运行流畅、速度快、用户体验好,这些都要归功于苹果App Store严格的审核制度和优秀的盈利模式;Google Play Store在Android 4.0发布之后发展也很快,但是宽松的审核制度,Android平台开放的环境导致盗版横行,开发者,尤其个人开发者热情不高,很多应用质量很差,其中也不乏大公司的产品,连最基本符合Android Design都做不到,完全照搬iOS的界面,其质量可想而已,这些也严重拉低了Android的用户体验水平。追问

懂得挺多的,你是做什么的

追答

刚毕业没几年 在华为

追问

哦真是太有本事了

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-18

总的来说有四个原因吧。

    系统环境不同。
    苹果使用的是iOS系统,它只要保证那几款iPhone的硬件设备能够顺畅运行就OK了,可控性方面是安卓机子没法比的;而安卓机子搭载的是谷歌的Android系统,它不仅要保证现有的硬件能够顺畅运行,还要确保以后未知的不同硬件组合,可控环境就逊色了很多。

    优先级别不同。
    我们拿iPhone和安卓手机同样滑屏解锁,点击相同的应用程序打开,苹果往往会变现得比较顺畅一些,而有的安卓机子就会显得有些卡顿,这个其实就是iOS最先相应屏幕的原因所在。iOS对屏幕的相应顺序是:触摸Touch→媒体Media→服务Service→架构Core,而Android系统的响应顺序是:程序Application→框架Framework→屏幕显示资源Library→架构Kernal。

    开发机制不同。
    iOS采用Objective-C语言,Android采用的是Java,前者效率高,后者运行效率偏低,这就造成了各自系统之间的流畅度的不同。

    后台运行不同。
    iOS的后台程序并不像Android一样在后台一直运行,我们在iOS后台所看到的运行程序,其实只是我们最近的使用记录,就跟网页浏览记录一样;而Android后台运行程序如果没手动关闭退出,它们就会一直在后台中运行,这样系统就需要更多的运行内存来给这些应用程序。所以,这也是直接导致iOS只需要双核1GB运行内存就可以保持很顺畅了,而Android却要达到4GB内存,八核的CPU处理器。

第2个回答  2019-05-22
感觉最根本的原因 两个系统的代码环境不一样 ios的c直译为可识别二进制文件 而安卓由java开发 java运行需要跑个虚拟机进行转译 这是不可逆的 觉得主要就是多了虚拟机这步
第3个回答  2014-03-05
系统优化做的好,苹果的软件只为苹果系统,安卓的软件确要适配很多机型。追问

难怪应用打开时那么快,就是用闪来形容

第4个回答  2014-03-05
我android的也很快,现在android也做的很好了
相似回答