A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑妞~ 金牌黑马   /  2014-7-8 09:43  /  3044 人查看  /  22 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Android 下一个版本将会有两个重大改变。其中一个是明显的改变,系统界面采用全新的 Material Design,另一个改变属于底层部分,但是也直接影响到用户体验。Google 将彻底抛弃 Davik,启动新的应用环境 ART(Android Runtime)。ART 能否解决长期困扰 Android 的卡顿问题?

架构
ART 完全兼容 Dalvik 的字节码格式 dex,因此,开发者编写软件不会受到影响,也无需担心兼容性问题。ART 的一大变化是,它不仅支持即时编译(JIT),而且支持预先编译(AOT)。在 Dalvik 上,每次软件运行,都需从字节码编译为原生代码,ART 可以只编译一次。然后,软件每次运行时,执行编译好的原生代码。预先编译也为新的优化带来了可能性。同时,这也会明显改善电池续航,因为软件运行时不用编译了,从而减少了 CPU 的使用频率,降低了能耗。

ART 也有一些缺点。其中一个是,设备首次启动,以及应用的首次启动时间会变长,不过,Google 宣称说,这种差别不是很大,而且他们会在这方面努力,使其接近甚至超过 Dalvik。另一个缺点是原生代码占用空间更大,不过,现在设备的空间应该都足够。

垃圾回收
Android 虚拟机是自动内存管理。优点是,开发者无需担心内存管理,缺点是,开发者失去了控制权,依赖于系统本身的机制。Dalvik 的垃圾回收机制是造成系统卡顿的原因之一。在 Dalvik 虚拟机下,启动垃圾回收机制会造成两次暂停(一次在遍历阶段,一次在标记阶段)。所谓暂停,就是应用的所有线程都不再执行。如果暂停时间过长,应用渲染中就会出现掉帧。用户体验上来说,就是应用运行的时候出现卡顿。

Google 宣称,Neuxs 5 的平均暂停时间是 54ms,结果就是,每次垃圾回收启动,平均掉帧是 4 帧。如果应用编写的不好,情况会更加糟糕。Anandtech 测试了 FIFA 游戏。Dalvik 环境下,启动应用的几秒内,垃圾回收启动 9 次,应用暂停时间总和 603ms,总共掉帧是 214 帧。在 ART 下,情况有了极大改善。同样时间里,应用暂停时间总和是 12.364ms(4 次前台垃圾回收,2 次后台垃圾回收),总共掉帧是 63 帧。

ART 能够做到这一点,是因为应用本身做了垃圾回收的一些工作。垃圾回收启动后,不再是两次暂停,而是一次暂停。在遍历阶段,应用不需要暂停,而标记阶段的暂停时间也大大缩短,因为 Google 使用了一种新技术(packard pre-cleaning),在暂停前就做了许多事情,减轻了暂停时的工作量。Google 承诺说,他们已经把平均暂停时间降到了 3ms,远远超过 Dalvik 的垃圾回收。

与此同时,Google 还改进了内存分配系统,把分配速度加快了 10 倍。垃圾回收算法也进行了修改,以增强用户体验,避免应用被打断。

64 位支持
ART 支持 64 位系统,这会带来性能上的提升,加密能力的大幅改进,同时保持与现有 32 位应用的兼容性。与苹果不同的是,Google 使用了指针压缩,以避免转换到 64 位后,空间占用大幅增加,其虚拟机仍然是 32 位指针。

Google 宣称,现有 Play Store 上应用中,85% 都可以转移到 64 位,剩下的 15% 有原生代码,需要重新编译。总的来说,转移到 64 位应该会在短时间内完成。

总结
从许多方面来说,Google 兑现了其提升性能的承诺,解决了困扰 Android 的诸多问题。Android 的一些致命弱点,原因在于非原生应用和自动内存管理系统,ART 在这些方面做出了大量改进。总之,在应用的流畅度和性能方面,Android 终于可以与 iOS 一决高下了。


22 个回复

倒序浏览
沙发和板凳,google正在改变你我
回复 使用道具 举报
google真心不错
回复 使用道具 举报
厉害,不断改变不断提高
回复 使用道具 举报
革新才会进步与提升!!

点评

说的好  发表于 2014-7-18 10:28
回复 使用道具 举报
支持google!
回复 使用道具 举报
感觉没那没好吧
回复 使用道具 举报
强力赞了,和ios一决高下
回复 使用道具 举报
必须的,要尊重市场嘛
回复 使用道具 举报
真好!!~~~
回复 使用道具 举报
junly 中级黑马 2014-7-16 21:39:55
11#
看的时候很激动!
回复 使用道具 举报
手机快变电脑了--
回复 使用道具 举报
牛x 这个对android来说是一个福利
回复 使用道具 举报
Where there`s a heimabi, there`s a me!
回复 使用道具 举报
相信未来的一天安卓必然一统天下
回复 使用道具 举报
试想一下,如果有一天,安卓和IOS都混不下去了,而另外会有一个全新的智能系统出现。那么是不是会有N多安卓IOS的兄弟重新开始
回复 使用道具 举报
试想一下,如果有一天,安卓和IOS都混不下去了,而另外会有一个全新的智能系统出现。那么是不是会有N多安卓IOS的兄弟重新开始
回复 使用道具 举报
相信谷歌,相信java
回复 使用道具 举报
厉害!!!
回复 使用道具 举报
长见识了
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马