为什么android art模式的Ahead

第三方登录:Android开发中,为什么ART能提高性能?_百度知道
Android开发中,为什么ART能提高性能?
来自两方面:一,预先(Ahead-of-time)编译。Android应用开发时,生成的Dex文件包含Java的ByteCode。在AndroidL以前,默认用Dalvik虚拟机。应用运行时,Dalvik对JavaByteCode进行解释执行,或进行Junt-In-Time的编译。在AndroidL里,应用安装时,用系统工具dex2oat将安装包中的Dex文件编译为ELF格式的执行文件(.oat文件)。应用运行时直接执行二进制指令。二,优化垃圾回收(garbagecollection)。垃圾回收主要有两种:(1)gc_concurrent。执行时,Dalvik会在本次gc的开始和结束时会短时间暂停代码的执行。(2)gc_for_alloc。执行时,会较长时间中断Java代码的运行。在ART里,执行gc_concurrent时,只会暂停代码一次。执行gc_for_alloc时,中断Java代码运行的时间大大缩小了。总体上讲,ART里垃圾回收占用的开销比Dalvik少50%以上。减少了垃圾回收时对应用带来的卡顿,使应用运行更流畅。
其他类似问题
为您推荐:
android开发的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁如何评价 Android 正式移除了 Dalvik 并默认使用 ART_百度知道
如何评价 Android 正式移除了 Dalvik 并默认使用 ART
0机子上的体验很是不错.0的正式应用说明谷歌已经觉得art运行环境计较成熟。并且在5。兼容性也是比较令人可以接受。art已经成熟。可以说是谷歌的一大进步.4的实验art环境到5。从4。而且art运行环境可以大幅度提升系统流畅度
知道智能回答机器人
我是知道站内的人工智能,可高效智能地为您解答问题。很高兴为您服务。
其他类似问题
为您推荐:
其他1条回答
而在ART 环境中。这样的话,字节码就会预先编译成机器码,应用每次运行的时候。在Dalvik下,这会拖慢应用的运行效率,应用的启动(首次)和执行都会变得更加快速。这个过程叫做预编译(AOT,应用在第一次安装的时候,使其成为真正的本地应用,字节码都需要通过即时编译器转换为机器码ART 的机制与 Dalvik 不同,Ahead-Of-Time)
dalvik的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 android art 的文章

 

随机推荐