android的哪个版本开始岀现art虚拟机 odexart

内容字号:
段落设置:
字体设置:
精准搜索请尝试:
IT之家学院:认识Android中的Dalvik与ART虚拟机
来源:作者:文轩责编:文轩
又是一年高考时啊,在文章开始之前,IT之家先祝各位高考考生金榜题名~每到这个时候,小编就会想起自己的高三时光和高考经历,那段时光真是让人难忘。提起高三生活,可能很多同学都会想到桌子上堆得厚厚的书,黑板上的课程表和高考倒计时,还有那个可能再也没有机会和你在一个教室上课的,你喜欢了很久却一直没勇气告白的女同学。不过若要说起对于当年的高三,小编印象最深的是什么,小编觉得大概就是那台学习机了吧。若以当年的标准来看,那台机子的配置还算主流,1GHz的处理器,512MB的内存,8GB的存储空间,分辨率为800*600的8英寸电阻屏,Android 2.3.6系统。这时可能有读者要吐槽了,活该小编你单身一辈子!高三有那么多美好的人和事,这么多年过去了,你竟然只记得你的学习机!嗯,是的,可能你不知道,在班里所有人玩手机都要偷偷玩的时候,能在课桌上光明正大地玩一台安卓设备简直爽得上了天。不过那台机子的体验放在今天来看可能并不好,首先,它是电阻屏,要操作它恐怕得使点劲儿,另外,它的系统总是感觉不太跟手,用过早些时候的Android系统的读者可能知道那种感觉,并不是卡,而是没有今天Android系统的这种程序一点即开,操作体验如丝般顺滑的感觉。为什么当年的Android系统用着就是没有如今的流畅呢?原因之一,当年设备的硬件配置没有如今的好,不过今天,我们不妨换一个方向,从操作系统的角度来探讨这个问题。大家知道,Android应用是运行在虚拟机中的,那么今天,IT之家就和大家聊聊这个虚拟机。Android中虚拟机的作用是什么呢?当然是运行Android应用程序,应用程序对于一款操作系统来讲至关重要,想想我们的日常,几乎每天都离不开应用程序,早上起床时,你需要闹钟应用,与家人和朋友沟通时,你需要即时通讯应用,白天看到好玩的,中午吃到好吃的,想要记录和分享它们,你需要相机应用,所以我们衡量一款操作系统,一个重要的指标就是这个平台上的应用的数量和质量如何,就像盖一栋房子一样,地基打得稳,却没有砖瓦,最后这栋房子肯定盖不起来。Android诞生之初,可谓强者环伺,Windows Mobile和塞班如日中天,iOS的发展形式一片大好,为了在激烈的竞争中脱颖而出,也为了吸引越来越多的开发者,Android选择JAVA作为其应用程序的编程语言。之所以选择JAVA,是因为这种编程语言已经为很多开发者所熟知,当开发者选择为安卓开发应用程序时,他们所面临的入门门槛将非常之低。另外,JAVA具有跨平台的特性,和iPhone不同,搭载Android系统的手机多如繁星,它们搭载着不同品牌不同型号的处理器,而编程语言对平台支持的广泛即意味着Android系统对硬件选择的自由。开发者使用JAVA语言在IDE里为Android平台写的代码叫做源码,这种源码是人类可以理解的语言,这种语言人类可以理解,但是机器无法理解,就像对一个意大利人说“люблютебя”,对一个美国人说“おはようございます”一样,你直接把源码告诉Android设备,让它执行,它肯定不会执行的,因为它听不懂啊~所以,你需要将源码翻译成机器可以理解的机器码。不过这时问题来了,运行安卓系统的硬件五花八门,这部手机搭载的可能是高通的处理器,那部手机搭载的可能是英特尔处理器,你通过源码翻译成的机器码,高通处理器能看得懂,他执行了,英特尔处理器看不懂,他就会罢工。没关系,我们可以先将源码翻译成字节码,字节码是一种中间码,它虽不能和手机的硬件层直接打交道,但是却可以被Android系统中的虚拟机所理解,当Android系统的虚拟机看到一段字节码后,它会根据设备硬件的不同而将字节码翻译成不同的硬件能够理解的机器码。在Android 4.4之前,Android系统是让一种名叫Dalvik的虚拟机来充当翻译官的角色,当你将应用安装在手机上后,应用程序的代码将会以字节码保存,每次你冷启动一个应用时,Dalvik虚拟机便会将字节码翻译成机器码,然后交给硬件来执行。Dalvik虚拟机是个特别勤劳的家伙,它从来也不怕麻烦,每次你将一个应用关闭然后再次冷启动它时,Dalvik虚拟机就要再重复一次将字节码翻译成机器码的动作。所以,你每次冷启动一个应用都要经过一次重新编译,在编译的这段时间你只能干等,或者欣赏Android系统的过场动画,或者摔掉手机。虽然Dalvik虚拟机的辛劳让我们非常感动,不过我们不想在每次启动应用时都等上那么几秒或者几分钟,所以Dalvik,你是个好人,但是我们不合适,我们还是做朋友吧,友谊地久天长。时代在发展,科技在进步,2013年,Android 4.4为我们带来了Dalvik虚拟机的替代者——ART虚拟机。ART,全称为Android Runtime,翻译成中文则是安卓运行时,这个名字起得巧妙,因为英文中的“ART”正有“艺术”之意。和Dalvik虚拟机一样,ART虚拟机的作用是将字节码翻译成机器码,不过,它们工作的方法不一样,相比于任劳任怨Dalvik虚拟机来说,ART虚拟机显然更加聪明。Dalvik虚拟机的做法是,你安装一个应用时,它对字节码不做处理,当你启动应用时,它才将字节码编译成机器码,这个我们前面讲过,而ART虚拟机的做法是什么呢?早在你安装应用时,它就将字节码编译为机器码,此后当你启动一个应用时,虚拟机无需对它重新进行编译,只要直接运行已经编译过的机器码即可,因此这时,你就可以更快地冷启动一个应用。引援CSDN里的大神举的一个例子,Dalvik虚拟机就像是折叠自行车,想把它骑走你得先组装,ART虚拟机则相当于组装好的自行车,什么事儿也不用费,骑上了直接走人。不过,任何事物都有它的两面性,ART不是完美无缺,Dalvik也不是一无是处。通常情况下,机器码所占的存储空间会比字节码要大一点,你在Dalvik模式下安装一个应用,它所占的空间是50M,那在ART模式安装同样的应用,它所占的空间可能就是70M。另外,在你ART模式下安装一个应用时,这个应用的字节码要被编译成机器码,这个编译需要一个过程,会花费一些时间,而你在Dalvik模式下安装一个应用时,其字节码并不需要被编译成机器码,因此,你在ART模式下安装应用更费时间,在Dalvik模式下安装应用则更省时间。一句话概括,ART的路子无非就是和以空间换时间和时间转移。即通过直接运行占用存储空间更大但更高效的机器码来节约时间,和将打开应用所需的时间转移到安装应用这一步。也许它们的缺点和优点并不是绝对的,我们可以试着把Dalvik虚拟机和ART虚拟机放在特定的历史环境中。在Android使用Dalvik虚拟机的那个时代,安卓设备用于存储应用程序的空间往往很小,所以节省存储空间是最重要的,而到了Android使用ART虚拟机的时代,安卓设备用于存储应用程序的空间已经足够了,用户们可以追求更高的流畅度了,所以,应用程序占用多大的空间无所谓,运行效率够高,打开速度够快,运行起来够流畅即可。有些人认为,Android 5.0萝莉炮是Android系统的里程碑,因为从Android 5.0开始,这个系统的UI设计团队总算是有些审美了,不过我认为,Android 4.4才是Android系统的里程碑,虽然它的UI设计和前一代相比并没有太大的变化,但是Android 4.4内在的提升是巨大的,在开发者选项中,Android 4.4对ART模式进行了大胆的探索,而正是这种探索,为今天流畅易用的Android系统铺平了道路。以上就是今天关于Android的Dalvik虚拟机和ART虚拟机的探讨的全部内容。出于浅显易懂的原则,本文并没有对Android底层和硬件方面进行深入讨论,在撰写这篇文章时,笔者参考了维基百科和相关技术博客中的一些知识,若文中有定义错误或者事实错误,还请各位读者不吝赐教。
软媒旗下软件:
IT之家,软媒旗下科技门户网站 - 爱科技,爱这里。
Copyright (C) , All Rights Reserved.安卓的新虚拟机真的不怎么样(ART),兼容性就是一坨【高通吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:62,820贴子:
安卓的新虚拟机真的不怎么样(ART),兼容性就是一坨收藏
nexus7 lte,安卓4.4,ART环境下存在以下问题:1:滑动阻尼很大,UI和应用抽屉跟抹了地沟油一样2:间歇性返回键失灵,点了以后白点。3:天天酷跑进去以后闪退无提示。4:豌豆荚永远的FC(提示出错退出,实际正常运行,点不完的确定)5:高德导航和高德地图无法访问网络和GPS最后实在没耐心换回了Dalvik。
华强旗舰是华强集团旗下的一站式电子元器件交易平台,高通均为原厂正品,ic型号齐全,支持海量现货在线交易,大小批量均可交易,可订期货.
另外最重要的Nexus Media ImporterOTG支持根本就无法在ART模式下运行,安装都会自动终止。
运行库要重新编译,这事很正常的,听说基于ART编译的应用apk要大20%,现在不过是开放出来供开发者使用而已,不过也许art也是intel翻身的希望也说不一定
第一点不觉得,我用着很流畅。不过兼容性一般
等软件优化吧
那么不给力啊
不开不如4.3
正常吧,都是慢慢好起来的
我的调成art就开机动画loop进不了系统
希望ART可以提升效率不能成也java败也java啊
购正品手机-来「天猫手机馆」,低价享好礼,好货不限量,分期免息,超值实惠,买的放心!「天猫手机馆」正品手机,全国联保,分期付款无压力,7天无理由退换货!
我用了破解google play再开art就进不了系统
我用了破解google play再开art就进不了系统
我觉得不兼容是好事 说明改进的挺多的
我要当学霸~
即使是Dalvik也很流畅了,我开ART反而没什么明显感受。。。
等重新优化编译吧
不考率不兼容的软件 有不是只有一个选择
微信用不鸟,不过用的很少,supersu也崩溃。uc,wecio正常。现在看看使用中耗电有改善不。
滑动跟ART没关系吧
到底是aot 还是art
ahead of time...
art我记得是一个选项,可以关闭的哈?
lz的问题我在四儿子ota后都遇到了。。。果断不用art模式了HTC ONE 【牛丸吧】个人物品交易贴
被删帖请看 【htcone】[吧务]删帖标准(附带吧规)各位小吧和被删封的吧友必看!
水经验请去  【htcone】【htcone吧-刷三倍经验专用贴】
拿一个刚出世的运行环境谈兼容性本身就是个扯淡的事情好吧
能兼容与dalvik的软件,就能兼容于art,除非动系统底层的软件,大部分强退软件都是破解版的问题
被传送过来观摩LZ了
8064A 足以应付1200P 么?
为了经验。我决定看见帖子就水一水
为了经验。我决定看见帖子就水一水
登录百度帐号Art和Dalvik对比以及虚拟机的原理
ART(Andriod RunTime)是Dalvik虚拟机的下一个版本,Dalvik运行的是字节码,而ART运行的是本地的代码,虚拟机的作用就是用来运行系统的应用程序。
ART相较于Dalvik的优势:
1.超前编译:主要用来提升速度与减小内存开销,而Dalvik的编译方式是JIT(just in time)即:无库存生产方式,每一次运行程序都需要重新编译,这不仅增加了内存的负担,而且速度也较慢,而ART与JIT类似,但是ART只运行一次,在安装程序的时候将运行一次(将我们的APP编译成本地的代码),所以第一次启动的时候ART会比Dalvik慢,之后会比Dalvik快很多。
2.提升了垃圾回收的性能。
虚拟机的原理:
首先我们来了解一下java虚拟机运行的过程,当你编写完Java代码之后输入指令:javac YourClassName.java,那么此时你的Java代码就被编译成了字节码,当然如果你使用的是Eclipse IDE 、Android Studio等开发工具,你保存代码的时候开发工作自动的就帮你完成了上述的工作,你此时就可以在目录下面看到java文件对应的class文件,接着JRE(Java Runtime Environment)的加载器从硬盘来加载Class文件,把它加载到JVM的内存区域(运行数据区-Runtime
Data Areas),最后加载引擎或者编译类文件,转化为特定了CPU机械码,CPU运行机械码,这样整个过程就完成了。
类加载器(介绍):
类加载器被组织成了一种层级关系,也就是父子关系,其中BootStrap是所以类加载器的父类,处于顶端。
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!技术解读Android L:ART虚拟机大幅提升系统运行效率,但安全方面依旧面临先天不足_网易科技
技术解读Android L:ART虚拟机大幅提升系统运行效率,但安全方面依旧面临先天不足
用微信扫码二维码
分享至好友和朋友圈
编者按:本文来自猎豹清理大师的技术工程师投稿,从系统运行效率、系统安全、隐私保护等角度,对Google刚刚发布的Android L做了一些技术解读。
前两天Google在位于加州旧金山的Moscone中心举行了2014 GoogleI/O大会,有人戏称此次大会的宗旨就是“Android接管一切”,尤其在最重磅的Android L部分,除了推出全平台的“Material Design”设计风格,Google还就Android底层核心技术进行了方向性的部署,包括ART、安全、省电等重点优化领域。
Android L默认采用ART运行环境,完全兼容64位移动处理器。Google称这将比此前的Dalvik模式性能提高两倍,但是会占用更多的内存空间。Android有三种运行模式:JNI、Dalvik、ART。Dalvik明显是最慢的,完全的JNI模式是最快的但是开发难度高,ART介于两者之间,并且不影响现有开发模式,所以Google选了ART。我们的技术工程师对此做了技术解读:
1)JNI:在开发过程中使用编译器在C/C++等语言直接编译成机器码,运行的时候能够充分利用系统性能,这是最快的。iOS的Object C和Android 的NDK都是这种模式。
2)Dalvik:Android L系统之前所有Android版本的运行方式,采用的是字节码,在运行的时候解释执行变成机器能够识别的机器码。这个过程是比较缓慢的。
3)ART:Android 4.4开始推出的新的运行环境,在APP安装的时候使用dex2oat工具直接把DEX文件转换为机器码文件,运行的时候以机器码方式运行,可以充分利用系统性能;此外,改进的内存回收机制使得ART运行模式下的内存回收速度只有Dalvik运行时模式下的50%,也能够提升系统运行速度。
虽然运行的速度提高了,但是ART也有缺点:
1)APP安装过程会变慢;
2)APP占用的存储空间会变多,系统更容易出现系统空间不足问题。
Google今年将Android生态的安全提到了很重要的位置上,但Android L系统依旧存在着一些先天不足:
1)恶意软件和病毒持续增长
Android系统诞生至今,一直饱受各种恶意软件的侵袭,随着各类操作系统ROM的预装内置和应用市场的审核不严等问题,Android平台的恶意软件和病毒数呈直线上升态势。我们在5年前就开始专注研究Android上各类软件的恶意行为,建立了APP行为云,用动静结合的方式分析各类APP的行为。
从CM security的监控数据来看,共发现恶意样本量超过450万款,包括恶意软件和病毒。在2014上半年,这二者的增长趋势超过150%,Android平台的安全战是一个持久战。
2)系统与第三方软件漏洞仅靠Google补丁是不够的
本次Android L系统增加了GooglePlay支持系统补丁的功能,但是由于Android系统版本的碎片化分布,以及各种定制系统ROM,所以并不是所有的漏洞都可以通过GooglePlay进行修补。而且对于Android系统上运行的第三方软件来说,也存在不少的漏洞风险(如WhatsApp隐私泄漏漏洞、Adobe Reader的webview任意代码执行漏洞等),对于这些漏洞风险,紧紧靠GooglePlay的补丁机制,是无法避免或进行完全修补的,Android漏洞方面的风险依然严峻。
3)手机防盗的安全日益重要
美国立法推动了智能手机支持防盗窃功能,此次Android L系统中增强了此功能,意在彻底防止手机盗窃后的二次倒卖或信息窃取。根据美国《消费者报告》(Consumer Reports)的数据,2013年美国有超过300万部智能手机被盗,远超2012年的160万部。
4)隐私保护机制的教育需要时间
根据CM security安全实验室的APP行为云分析,约有20万款应用(约4.4%) 会向用户索取不必要的隐私权限,如短信、通话记录读写权限、用户位置数据权限等。这些APP会在后台偷偷拿到用户的个人隐私,导致用户的日常行踪暴露无遗。
Android L系统提供了一个调整APP权限的机制,来避免用户的隐私泄露风险。对于最大众面的普通用户来说,学会如何进行底层设置来管理APP权限还需要一定的教育周期。
[本文来自读者的投稿,不代表36氪立场]
AD: SoftLayer 创业企业孵化扶持培训 立即报名
本文来源:36氪
责任编辑:王晓易_NE0011
用微信扫码二维码
分享至好友和朋友圈
加载更多新闻
热门产品:   
:        
:         
热门影院:
阅读下一篇
用微信扫描二维码
分享至好友和朋友圈后使用快捷导航没有帐号?
其他登录方式
—— 新手入门 ——
—— 智友精华 ——
查看: 5694|回复: 9
在线时间7080 小时最后登录阅读权限70UID992483注册时间积分40445精华0
安智搞机组-苏小小
, 积分 40445, 距离下一级还需 9555 积分
主题帖子 金币4053 元 智豆3 点
14:10 上传
谷歌安卓kitkat注定要成为安卓发展历史上一个重要的里程杯,在这个版本里谷歌带来了很多期待已久的功能,同时还大幅的降低了运行安卓系统所需要的内存,而其中最具有跨时代意义的是,kitkat首次引入了android runtime也就是ART这个新的运行库编译引擎(不过默认情况下是关闭的),而它最终将要取代目前的Dalvik。
虽然安卓系统基于linux,不过安卓却一直使用虚拟机技术来执行app代码。这并不是一个很好的解决方案,这使得安卓的运行效率比不采用虚拟机的iOS甚至windows phone还要差,因为同样运行一个应用,安卓需要消耗更多的资源。安卓的默认虚拟机Dalvik其实也是一个运行在安卓系统上的软件,自从安卓2.2开始,Dalvik就采用了Just-In-Time的即时编译机制来解析来自java语言编写的代码里的字节码,安卓的内核是不能直接运行java语言的,而大部分的安卓应用都采用java语言编写,这就是安卓的性能消耗大户之一。
在这个即时编译过程中,用java编写的class代码在安装到设备前被转换成Dalvik的可执行文件.dex。
odex文件是要交给Dalvik才能运行的被预处理过的应用的classes.dex文件,当一个应用被 odex化后, classes.dex就会从APK档案文件里被去除,这一过程中没有任何东西写到了Dalvik的缓存里。
而任何没有被odex 化的应用都有2个classes.dex文件,一个在APK档案里没有删除,还有一个在Dalvik 缓存(cache)里。
第一次运行应用会耗费时间久一点,因为要Dalvik提取和执行classes.dex。
不过,坦白讲,Dalvik依然是个非常出色的杰作,也经过了多次的优化,但是谷歌还是打算放弃它,从而拥抱更高性能的ART引擎。
ART采用的是预编译(Ahead-of-Time compilation),在安装应用的时候(注意已经不是安装之前了),代码中的字节码将被编译成机器码,这也解释为何在ART引擎下,安装应用需要的时间久一点,另外它需要的空间也大一点,毕竟这一过程中产生了机器码,不过对现在的智能机来说性能问题远比空间问题来的重要,再说空间早已不是问题。而由于有了机器码,下次打开的时候就不需要再编译了,这样就提高了性能。ART引擎在安卓4.4 kitkat里只是实验性的功能,不过早些时候给大家报道过最新的ASOP代码显示ART已经是默认的引擎了。不过Dalvik依然会作为安卓的备选引擎而长期存在。相信您在使用ART引擎的时候也会发现一些常用的软件支持的并不好,不过在开发者的努力下,大多数常用应用都第一时间进行了修复。如果您是程序员或者对ART想获得更深刻的理解,小编为您推荐国外XDA社区的一篇文章:
最后让我们一起期盼ART的时代快些到来!
楼主很赞!赏波666
打赏排行榜
楼主共收获打赏:
虚位以待打赏
虚位以待打赏
虚位以待打赏
在线时间460 小时最后登录阅读权限20UID3169029注册时间积分591精华0
, 积分 591, 距离下一级还需 109 积分
主题帖子 金币771 元 智豆3 点
art模式确实很牛逼,流畅度不输ios。N5如果电池改为3000毫安,就完美了。
在线时间7080 小时最后登录阅读权限70UID992483注册时间积分40445精华0
安智搞机组-苏小小
, 积分 40445, 距离下一级还需 9555 积分
主题帖子 金币4053 元 智豆3 点
pfyz0100 发表于
art模式确实很牛逼,流畅度不输ios。N5如果电池改为3000毫安,就完美了。
LG G2的电池就是3K
在线时间460 小时最后登录阅读权限20UID3169029注册时间积分591精华0
, 积分 591, 距离下一级还需 109 积分
主题帖子 金币771 元 智豆3 点
LG G2的电池就是3K
我上一个手机就是G2,CM11+ART很满意,可乐极生悲,喝酒丢了。在短暂试用了1520后,果断换成了N5。ART模式,依旧很满意。
在线时间7080 小时最后登录阅读权限70UID992483注册时间积分40445精华0
安智搞机组-苏小小
, 积分 40445, 距离下一级还需 9555 积分
主题帖子 金币4053 元 智豆3 点
pfyz0100 发表于
我上一个手机就是G2,CM11+ART很满意,可乐极生悲,喝酒丢了。在短暂试用了1520后,果断换成了N5。ART模式 ...
哇塞,土豪哥哥,求打包带走
在线时间460 小时最后登录阅读权限20UID3169029注册时间积分591精华0
, 积分 591, 距离下一级还需 109 积分
主题帖子 金币771 元 智豆3 点
哇塞,土豪哥哥,求打包带走
版主您就别笑话我了~~
在线时间7080 小时最后登录阅读权限70UID992483注册时间积分40445精华0
安智搞机组-苏小小
, 积分 40445, 距离下一级还需 9555 积分
主题帖子 金币4053 元 智豆3 点
pfyz0100 发表于
版主您就别笑话我了~~
我就一屌丝
在线时间259 小时最后登录阅读权限20UID8929970注册时间积分632精华0
, 积分 632, 距离下一级还需 68 积分
主题帖子 金币2740 元 智豆0 点
绝世好文& && && && && && && &
在线时间99 小时最后登录阅读权限20UID7757924注册时间积分311精华0
, 积分 311, 距离下一级还需 89 积分
主题帖子 金币1810 元 智豆98 点
目前就是在用ART,兼容还凑合吧
在线时间2047 小时最后登录阅读权限40UID2035214注册时间积分2592精华0
, 积分 2592, 距离下一级还需 408 积分
主题帖子 金币2238 元 智豆0 点
LG G2的电池就是3K
不知道G2的电池撕掉包装的贴纸&&能不能放到N5里面,打算一年左右以后电池行了,做个试验。
大诗人勋章
客户端【我的任务】—完成【大诗人】任务
一加原厂保护膜 纯平手机 移动电源 耳机小螺

我要回帖

更多关于 android art虚拟机 的文章

 

随机推荐