背景:Android4.2之前,安卓手机系统的应用程序均在Dalvik Java的虚拟机上执行,这样的执行模式还要依靠一个编译器来实现与应用程序的沟通。应用程序每次执行时,都须要将程序内的代码转变为机器码才干执行,这无形中多附加了一道手续,这就造成了手机耗电相对较快。占用内存大,用久了会卡顿的现象。

前言:KitKat(奇巧巧克力):雀巢的巧克力棒产品,近期Google宣布最新4.4版Android将命名为"KitKat"

One of the greatest features of Android 4.4.x KitKat, also probably the most under-reported one, is the next generation Android RunTime (ART).

翻译:Android4.4.x KitKat 最显著的特征之中的一个就是下一代的Android Run Time(ART),也许也是下一个即将被广为关注的特征

What is ART?

翻译:什么是ART? (艺术)

When you start any apps on your Android device, the system actually takes some time and effort to compile the app package to machine code so your device can understand and execute. It does this Just in Time of execution. So as
you run apps on your device, it actually keeps doing these resource intensive tasks in the background and this is a major reason why people notice Android apps are a bit sluggish when compared to their iOS counterparts.

翻译:当你在你的Android设备上启动随意app程序,系统都会耗费一些时间和精力(资源)去把该app包文件编译成机器码,以便你的设备能够理解并执行。这个过程在程序执行时执行。所以当你在你的设备上执行你的app程序,其实,在后台也同一时候执行着这些非常耗费资源的任务。这也是和苹果IOS系统相比,在Android系统上执行app程序会让人感觉的有些缓慢的主要原因。

This is, until you switch to the new Android RunTime (ART).

翻译:这个问题会一直存在,除非你换到新的Android Run Time。

With ART enabled, machine code compilations are done Ahead of Time during app installation. So when you run apps on your device, it can skip all that and simply executes the code directly.

翻译:在ART启用的情况下,机器码的编译会在app程序安装过程中提前编译完毕。这样当你在你的设备上执行你的app程序,它能够跳过编译的过程,直接执行编译好的机器码。

The result? Reports show that ART yields performance improvements of around 10% to 20% on average. On the other hand it also boosts battery life because your device now does a lot less resource intensive machine code compiling.
Take into considerations ART is currently a preview technology in Android 4.4.x KitKat so it can only get better and better in upcoming Android releases.

翻译:这样做的结果是什么呢?报告显示ART使得操作性能平均提高10%到20%。而还有一方面。这也延长了电池的使用时间。

由于如今你的设备大大降低了运行编译机器码这一耗费资源的行为。

考虑到ART眼下仅仅是运用在Android4.4.X KitKat版本号上。因此在未来公布的Android版本号中ART仅仅会越来越好。

英文原文截取自: http://www.mobilehiddencamera.com/

翻译时间:2014年6月23日

Android:What is ART?的更多相关文章

  1. Android L 使用ART能提高多少性能?

    点击打开链接 刚刚结束的 Google I/O 大会上,Android 下一代操作系统「L」带来不少惊喜.新系统运行更快.更省电. 然而开发者对这个新系统也有颇多疑问,比如新的运行模式 ART 对开发 ...

  2. Android执行时ART载入类和方法的过程分析

    在前一篇文章中.我们通过分析OAT文件的载入过程,认识了OAT文件的格式,当中包括了原始的DEX文件. 既然ART运行时运行的都是翻译DEX字节码后得到的本地机器指令了.为什么还须要在OAT文件里包括 ...

  3. Android执行时ART载入OAT文件的过程分析

    在前面一文中,我们介绍了Android执行时ART,它的核心是OAT文件.OAT文件是一种Android私有ELF文件格式,它不仅包括有从DEX文件翻译而来的本地机器指令.还包括有原来的DEX文件内容 ...

  4. 【原创】【Android】揭秘 ART 细节 ---- Garbage collection

      背景 Dalvik :http://zh.wikipedia.org/wiki/Dalvik%E8%99%9A%E6%8B%9F%E6%9C%BA ART :http://source.andro ...

  5. Android里的 ART、JIT、AOT、Dalvik之间有什么关系?

    ART.JIT.AOT.Dalvik之间有什么关系? JIT与Dalvik JIT是"Just In Time Compiler"的缩写,就是"即时编译技术", ...

  6. Android Dalvik、ART及APK编译过程

    0.1 先对Dalvik以及ART做简单介绍: 什么是Dalvik: Dalvik是Google公司自己设计用于Android平台的Java虚拟机.dex格式是专为Dalvik应用设计的一种压缩格式, ...

  7. Android ART运行时与Dalvik虚拟机

    这几天在做一个项目时需要在Android中使用OSGi框架(Apache Felix),于是在一个android 4.4.2 版本系统的某品牌的平板上实验. 实验内容很简单:把felix包里的feli ...

  8. ART:Android 摆脱卡顿的希望?

    与 iOS 相比,Android 的用户体验有个相对糟糕的开始.在很长的时间里,界面一直丑小鸭,卡顿也是挥不去的痛.不过,在 Google 的全力推动,以及硬件厂商的响应下,Android 还是跨越各 ...

  9. Android ART

    这几天在做一个项目时需要在Android中使用OSGi框架(Apache Felix),于是在一个android 4.4.2 版本系统的某品牌的平板上实验.实验内容很简单:把felix包里的felix ...

随机推荐

  1. [IDEs]Eclipse For Mac , 常用快捷键

    Cmd + O:  查看.java中得方法,变量,等结构 Cmd + T:     查看继承关系 Cmd + K:          查找下一个选中的成员 Cmd + E:  查看已经打开的文件 Cm ...

  2. Linux多线程服务端编程:使用muduo C++网络库

    内容推荐本 书主要讲述采用现代C++在x86-64 Linux上编写多线程TCP网络服务程序的主流常规技术,重点讲解一种适应性较强的多线程服务器的编程模型,即one loop per thread.这 ...

  3. C++ Primer 学习笔记_32_STL实践与分析(6) --再谈string类型(下)

    STL实践与分析 --再谈string类型(下) 四.string类型的查找操作 string类型提供了6种查找函数,每种函数以不同形式的find命名.这些操作所有返回string::size_typ ...

  4. [Android学习笔记]jackson库的使用

    Jackson库一般用于序列化和反序列化操作,通常会涉及到的操作是: 1. Java Object -> Json String 2. Java Object -> Xml String ...

  5. HTML5调用摄像头实现拍照功能(兼容各大主流浏览器)

    本人亲測,兼容各大主流浏览器,HTML5太强大了,须要的留下邮箱哦 假设想要立即收到,则可到我的资源下载 http://download.csdn.net/detail/laijieyao/81699 ...

  6. hdu 3221 Brute-force Algorithm(高速幂取模,矩阵高速幂求fib)

    http://acm.hdu.edu.cn/showproblem.php?pid=3221 一晚上搞出来这么一道题..Mark. 给出这么一个程序.问funny函数调用了多少次. 我们定义数组为所求 ...

  7. Wix学习整理(7)——在开始菜单中为HelloWorld添加卸载快捷方式

    原文:Wix学习整理(7)--在开始菜单中为HelloWorld添加卸载快捷方式 通过前面的几篇随笔,我们已经给我们的HelloWorld提供了填写注册表信息,以及开始菜单快捷方式和桌面快捷方式.这些 ...

  8. Hdu 4734 【数位DP】.cpp

    题意: 我们定义十进制数x的权值为f(x) = a(n)*2^(n-1)+a(n-1)*2(n-2)+...a(2)*2+a(1)*1,a(i)表示十进制数x中第i位的数字. 题目给出a,b,求出0~ ...

  9. Codeforces Round #FF 446 C. DZY Loves Fibonacci Numbers

    參考:http://www.cnblogs.com/chanme/p/3843859.html 然后我看到在别人的AC的方法里还有这么一种神方法,他预先设定了一个阈值K,当当前的更新操作数j<K ...

  10. Python使用MySQLdb操作MySQL

    import MySQLdb,sys try: conn=MySQLdb.connect(host=,user=',db='db1') except Exception,e: print e sys. ...