为什么android比ios慢

Android的开发工作在第一代iPhone发布之前就已经开始了,原始Android原型体被设计成为使用键盘手机的设备,也就是黑莓手机的竞争对手。
UI渲染优先级别在有键盘的手机上并没有那么重要。
但是在iPhone发布之后,Android小组为了快速推出能与iPhone竞争的产品,迅速将Android改成触摸屏手机系统,但那时重写UI框架已经不可能了。


在iOS中UI渲染过程具有绝对的优先等级,当用户接触到iPhone的触摸屏后,iOS中所有的进程都将停止,UI线程拦截了所有的事件,
系统会将所有资源用于渲染UI过程,以保证用户界面的实时渲染优先级。
而在Android系统中UI渲染过程的优先级别却没有那么高,也就是说当你触摸Android手机屏幕的时候,系统后台的程序并没有停止,仍然在继续运行之中,
比如下载和查收短信,这样系统UI获得的资源就不够,这就是Android系统不流畅的原因。


早期的Android不用GPU渲染桌面,然后某一天你突然发现从4.1开始,Android快了许多。
第一版iOS便想到了用GPU来绘图,Android直到Honeycomb才初步搞定这个问题,奠定了ICS的基础。
直到Jelly Bean,Android的GPU绘图才达到了等同于iOS的水平(vsync timin)。
再到Kitkat,Android才试验性地推出了利用LLVM的ART,也就是Java--->Dalvik excutable--->Android Runtime binary的路径,和Chrome的pNacl如出一辙。


硬件加速并不如人们认为的那么完美,他占用的RAM巨大。RAM是有限的,分出一大部分去绘制,那处于运行中的进程就会缺少内存。




这便是为什么MTK6592有8个CPU,却依然是一种成本优化的廉价处理器
这便是为什么A7只有两个CPU,但它是地球上最快的ARM处理器之一


Android采用的是Java技术,所有应用在一个叫Dalvik的Java虚拟机中运 行,Dalvik是Android的核心,是google专门为移动设备优化的Java虚拟机,
Android应用就是典型的Java应用。可以说 Java应用的优点(成熟、存在大量可重用代码)就是Android的优点,Java应用的缺点(占内存大、运行速度略低)就是Android的缺点。
所以Android移动设备要能运行顺畅,必须有高性能CPU+大内存,256M内存刚刚够,512M内存差不多了,要运行得很顺畅则需要1G内存,
要知道iPhone4才512M内存。高性能CPU+大内存给基于Android的移动设备带来成本高和耗电量大两大问题。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值