您好,欢迎来到61ic! | [登录] [注册] 忘记密码 | 设为首页 帮助
 . 网站首页 . 业界新闻 . 设计中心 . 移动技术 . TI专栏 . ADI专栏 . FPGA专栏 . 代码工厂 . 官方商城 . 
 . 活动专区 . 新品快递 . 解决方案 . 前沿科技 . TI资源 . ADI资源 . FPGA资源 . 下载中心 . 产品展示 . 
加入收藏
付款方式
联系我们
您现在的位置: 61IC电子在线 >> 移动技术 >> Android >> 正文
  Android 4.4 ART运行模式与开启方法           ★★★ 【字体:
Android 4.4 ART运行模式与开启方法
作者:耿聪 77l    文章来源:耿聪 77l    点击数:    更新时间:2013-12-2    

安卓4.4art运行模式是什么意思?怎么打安卓4.4art开启方法?

在安卓4.4中进到开发者模式里会发现多了一项“选择运行环境”,里面有两个选项:Dalvik和ART。

Dalvik是之前Android系统使用的Java虚拟机,那么ART是什么呢?

ART是一个AOT编译器。所谓AOT (Ahead of Time)是指在运行以前就把中间代码静态编译成本地代码,而JIT (Just inTime)则是在运行时动态编译。

AOT和JIT比各有长处,这里不详细展开,只简单列举几个最主要的:

AOT的主要编译过程发生于开发用机,因此编译得慢一点没关系,可以充分的做各种耗时的优化;JIT在运行时动态编译,通常不能做太耗时的优化,否则影响启动和运行速度

更具体一点,以Sun的JVM为例,JIT大体上划分为client和server两种模式。Client模式下VM是一边解释执行,一边识别热点 区域进行JIT编译,以免明显影响启动速度;考虑到内存占用,也不会把所有Java字节码都编译成本地代码。Server模式下则会进行全面的JIT编 译,因为server启动慢一点没关系,一旦跑起来就会运行很长时间,所以花一点点时间全面优化是值得的。

因为受优化程度限制,JIT编译出来的本地代码体积通常比较大,5到10倍于bytecode都是正常的。AOT编译出来的本地代码体积更小。Android的JIT code cache也是内存占用的重要角色。

因为是预编译好的机器代码,AOT产生的代码和加载执行过程和普通的本地代码没有太大分别。不过仍然需要运行时的GC支持。

虽然AOT可以有更多的时间和空间做编译优化,但并不等于性能上就一定胜过JIT。JVM有不少东西只能在运行时动态决定是否可以采用编译优化(如 识别可以inline的虚方法),以及运行时动态反优化(例如inline了一个虚方法,后来发现遇到新的派生类的实例,就需要取消原来的 inline)。这些事情AOT就不容易做到。

AOT的编译器一般会分两个版本,一个在开发机上编译整个系统和预装应用,另一个是一个精简版,在设备上运行,负责编译连接新安装的应用。

AOT编译出来的代码仍然需要运行时的支持,特别是GC。

如果ART确实是用AOT compiler替换JIT,性能先不谈,Android的内存占用应该会因此获益。现在dex代码经过 dex => optimized dex => JIT cache这个过程,内存中需要同时容纳odex和JIT cache两份代码;换成ART以后,就变成dex => oat,内存里只放oat就可以。不过考虑到ART的解释器代码里有提到deoptimization,也有可能在特定情况下还需要load dex代码解释执行。重要的是oat应该是可以直接mmap执行的代码(其实就是一个真·ELF格式的文件),加载/换页重加载的速度都会比从odex动 态编译来得快。

简单的说就是以更高的执行效率来运行软件art应该利用了LLVM

性能就提升了,另一方面预载的私有软件也可以凭此做好保密工作,留在机器上的程序本体是机器码了,没有deoat了。

其实Google也在Chrome做了类似的事情。

目前的Chrome支持pNACL,也是一种以(LLVM)字节码发布,到本地再编译的模式。如此能获得接近那些直接被编译为原生代码的软件的性能。

Mozilla给出的替代品是asm.js,则是用javascript引擎执行C++本机代码。

总结:那么,是不是谷歌在做尝试,今后在Android系统上运行程序不是在Dalvik虚拟机中,而是真正以原生指令方式执行?如果真是这样,哪怕代码执行效率稍低,联想起目前Android平台设备的配置远远强于Iphone的配置,那么是不是Android的运行流畅性赶超Iphone指日可待了?

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    Android4.4 ART模式简单科普…
    解析Android ART(附:实测数…
    Android4.4 ART省电原理
    Android4.4的ART机制,能接近…
    Android rom移植知识
    Android Design的前世今生
    DRM in Android详解
    Android多窗口管理深入分析
    Android 4.4“奇巧”系统详解…
    Android 4.4出现漏洞 黑客能…
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    站长:61 湘ICP备13001086号-2