为什么苹果打开应用的速度那么快而安卓比较慢呢?
2014-03-05
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的用户体验水平。
懂得挺多的,你是做什么的
刚毕业没几年 在华为
总的来说有四个原因吧。
系统环境不同。
苹果使用的是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处理器。
难怪应用打开时那么快,就是用闪来形容