解析 Android ART 到底是什么?「附:实测数据」

标签: 业界动态 Android KitKat ART | 发表时间:2013-11-25 00:16 | 作者:小核桃
出处:http://www.woshipm.com

ART1

盼星星盼月亮,11 月 1 日,谷歌终于发布了代号为 KitKat的 Android4.4 和 Nexus7。 个人认为 Android4.4 最大的更新就是针对 RAM 占用进行了优化并且推出 ART 来代替 Dalvik,其甚至可以在一些仅有 512MB RAM 的老款手机上流畅运行。它也进一步优化了系统在低配硬件上的运行效果,似乎是为了更好地在众多智能穿戴设备上运行。11 月 13 日,谷歌放出了 nexus7 和 nexus10 的 Android4.4。

本文的重点就是以新版 Nexus7来作为样机来介绍和测试一下这个神秘的 ART。ART 是一个什么东西?在过去,安卓的应用程序由 Dalvik Java 虚拟机运行,Dalvik 依靠一个 Just-In-Time(JIT) 编译器去向硬件“解释” App 字节码,代码和硬件打交道时平白无故多出一个解释过程,显而易见,这种方式并不能直接调用底层的硬件,而是通过了一个中间介绍人来让 App 运行,这就是为什么搭载 Android 系统的手机相比 iPhone 来说耗电快,软件占内存大,卡顿严重。从而 Dalvik 被看作安卓运行效率低下的“毒瘤”。当然,Dalvik 虚拟机让应用能更容易在不同硬件和架构上运行,是安卓系统普及的功臣。

Android 操作系统已逐渐成熟,谷歌开始将注意力转向一些底层组件,谷歌已经花了很长时间开发更快执行效率更高、更省电的 ART 运行时。自 Android 4.4 开始,谷歌将逐渐用 ART 运行时替代 Dalvik。而新的 ART 则完全改变了 Dalvik 这套做法,其处理应用程序执行的方式完全不同于 Dalvik,在应用安装时,ART 就直接把代码预编译成机器语言,这一机制叫 Ahead-Of-Time (AOT)编译。和 Dalvik 相比,经过 ART 编译后的应用从根本上省略了解释字节码这个过程,运行起来更有效率、耗电更少、占的内存也更低。当然,预编译也带来了两个问题,一个是应用占用的存储空间 将会更大,另一个是这个过程也会让应用安装耗时更长。预编译的 App 体积会大一些,安装时间则要看 App 本身的复杂程度。不过,App 的安装过程只有一次,相信大部分人是能忍受这个时间的。以下是用 2013 版 Nexus7(16G)进行的测试,不排除不同版本之间存在误差。在本文发布时不排除应用已经更新从而对新系统进行了适配。以下所有的测试都是进行多次实 验算得的平均值。

ART2

应用占空间大小对比表:

ART3

从上面的测试可以看出,应用安装上后分别使用 ART 和 Dalvik 方式所占的空间大小还是有很大区别的。京东和微信两个应用甚至都快达到两倍的关系了。PS Touch 却相差很少。在 16G 是智能手机的标配,存储器越来越大,越来越便宜的今天,如果 ART 能大幅提高 Android 用户体验及功耗的话,这点存储损耗还是可以接受的。那第一次搭载的 ART Andoid4.4 到底争不争气,是不是能带来很大提升,接着往下看。

启动时间对比表:

ART4

软件兼容性对比表:

ART5

这一次的测试结果显而易见,使用 Dalvik 的兼容性完爆使用 ART 的。虽然说在使用 Dalvik 时也出现了少许不兼容,但这应该是更新了新系统导致的,属于正常现象,而使用 ART 时多个应用和游戏出现不兼容这就说不过去了。

笔者又对系统流畅性和耗电进行了粗略性的测试发现 Android4.4 在 ART 和 Dalvik 情况下耗电和流畅度基本差不多,但相比 Android4.3,系统流畅性还是有比较明显地提升。至于安装应用所用的时间,笔者粗略测试使用 ART 模式所用的时间是 Dalvik 模式下的两倍。新版的 Nexus7 跳屏问题是众所周知的,谷歌对此打了补丁也是无效,很多人悲观的认为是硬件的问题,我的 N7 也时不时的犯病,让人惊喜的是更新了 4.4 后,我使用了一整天再也没有出现过这个问题,难道就是系统问题?现在还不能下定论,让时间来检验吧。看到这不用说大家也能得出结论,现在的 ART 还不能与 Dalvik 抗衡。那为什么谷歌还要加上这个功能呢?从技术上来讲,ART 的执行效率肯定比 Dalvik 高,可能由于部分软件没有针对其进行优化,加上这项技术谷歌可能还没有消化好,从而出现了性能反而不如 Dalvik 的情况。Androd 默认使用的是 Dalvik 模式,再加上这个功能本来就是针对开发者测试用的,所以建议普通用户还是不要切换的好。话又说回来了,这项技术能从根源上解决或者是缓解耗电快,软件占内 存大,卡顿严重的问题,相信通过谷歌的优化,下一个 Android 版本 ART 会直接是默认的运行模式。该来的总会来的,让我一起等待 Android5.0 的到来吧。

来源:极客公园


本文链接《 解析 Android ART 到底是什么?「附:实测数据」
官方微信:woshipm,干货天天推荐,欢迎订阅

相关 [解析 android art] 推荐:

解析 Android ART 到底是什么?「附:实测数据」

- - 人人都是产品经理
盼星星盼月亮,11 月 1 日,谷歌终于发布了代号为 KitKat的 Android4.4 和 Nexus7. 个人认为 Android4.4 最大的更新就是针对 RAM 占用进行了优化并且推出 ART 来代替 Dalvik,其甚至可以在一些仅有 512MB RAM 的老款手机上流畅运行. 它也进一步优化了系统在低配硬件上的运行效果,似乎是为了更好地在众多智能穿戴设备上运行.

让Android飞!Google开始测试ART

- - IT经理网
Google正准备用全新的Android运行时环境——ART取代原来的Dalvik,此举有望使Android饱受诟病的运行效率(卡顿)得到大幅提高,像iOS一样顺滑. 目前Google在最新的Android4.4上向开发者提供两个运行时环境——默认的Dalvik和测试中的ART. 在经历2010年 与Oracle的Java专利大战后,Google一直在寻求为Android平台寻找新的移动应用运行方案(编者按,Oracle起诉Google正是因为Google通过Dalvik虚拟机把移动版Java给开源了),在最新的ANdroid4.4中,人们终于看到了代号ART的全新运行时环境.

Android下个版本将默认使用ART运行时

- - 博客园_新闻
ART 运行时已包含在 Android4.4 KitKat 中,我们都知道它最终将会替代旧的低效的 Dalvik 运行时. ART 在应用安装时就预编译字节码到机器语言,这一机制叫 Ahead-Of-Time (AOT)编译.

电子书:The Art Of Community

- LiJunLe - Wow! Ubuntu
The Art Of Community 是由 Ubuntu Community Manager Jono Bacon 编写的一本关于如何构建开源社区的书籍. Jono Bacon 于 2006 年加入 Canonical,管理着世界范围内的 Ubuntu 开发者、贡献者及用户社区,有着丰富的开源社区运维经验.

树叶雕刻:Leaf Art

- Metalrush - 爱…稀奇~{新鲜:科技:创意:有趣}
这是西班牙艺术家Lorenzo Duran带来的精彩艺术:把树叶洗净之后烘干,然后用类似中国剪纸这样的工艺,在树叶上雕刻出复杂图案,就成了题图这样美妙的艺术品——怎么样,喜欢不. 内文中还有更多的图片,欢迎鉴赏~. 艺术家:Lorenzo Duran(西班牙). 亲爱的,这些东西也会对你胃口:. 超级独特的“慢镜头”雕塑:Human Motions.

Android中JSON解析

- - CSDN博客推荐文章
JSON是JavaScript Object Notation的缩写,可见JSON来源于JavaScript. JSON数据是一系列键值对的集合. JSON和JavaScript交互更加方便. JSON对数据的描述性没有XML好. JSON的速度要远远大于XML. JSON的解析要比XML的解析要方便.

Android PULL解析XML

- - CSDN博客移动开发推荐文章
int eventType = parser.getEventType();//产生第一个事件. while(eventType!=XmlPullParser.END_DOCUMENT){//只要不是文档结束事件. String name = parser.getName();//获取解析器当前指向的元素的名称.

Android DOM解析XML

- - CSDN博客移动开发推荐文章
if(personChilds.item(y).getNodeType()==Node.ELEMENT_NODE){//判断当前节点是否是元素类型节点. 作者:jaycee110905 发表于2013-2-7 21:04:29 原文链接. 阅读:78 评论:0 查看评论.

Art of Optical Flow 光流的藝術

- Jeshuang - CG Taiwaner 台灣人玩動畫
Optical Flow是從觀察者的角度(2D), 物體上面的特徵點所產生的運動向量. 這些向量可以由每個frame推算出來. 得到這些向量的資訊, 用在影片格式方面, 可以用來壓縮影片. 在電影特效的領域裡:可以用來追蹤畫面, 自動去背, 自動ROTO, 重建3D場景, 製作慢動作特效, 計算景深資訊.