设为首页收藏本站

移动叔叔

搜索
查看: 2693|回复: 0
打印 上一主题 下一主题

[其它] 旧版的安卓应用程序为什么要重新编译才能适配安卓5.0

[复制链接]
跳转到指定楼层
楼主
发表于 2015-5-29 09:26:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 liuzhaoyzz 于 2015-5-29 10:15 编辑

Android 4.4 中谷歌为开发者提供了两种编译模式,一种是默认的Dalvik模式,而另外一种则是ART模式
2014年谷歌正在对Android系统进行调整,简单点说就是ART已经取代Dalvik成为默认选项。一直以来,Dalvik虚拟机背负着Android应用卡顿的罪名,原因则是应用在运行的过程中,虚拟机Dalvik通过一个叫JIT(Just-in-time)的解释器动态的进行编译并执行,这一过程也拖慢了运行效率。
    与之形成鲜明对比的ART模式,则是在用户安装应用时就进行预编译操作,将原本在程序运行中时的编译动作提前到应用安装时。在省去解释代码这一过程之后,应用的运行效率会更高。
此外,有开发者往Android开源项目中提交代码时发现,ART已经取代Dalvik成为默认选项,不过Dalvik并没有被放弃,这无疑是个不错的消息,对于在2014年到来的大改版Android L来说,它的系统执行效率会更高。
谷歌公布Android L其界面相比4.x的版本来说,会有更大的变化,同时该系统还会加强平板的用户体验。
Android 5.0系统即彻底从Dalvik转换到ART,那样iOS开发人员和其用户所引以为傲的流畅体验将不再是一个值得炫耀的东西。
总得来说,Android 5.0是继4.0之后的一次重大更新,谷歌也希望通过新版本,来更好地统一Android的用户体验、设备交互能力,值得期待。

ART模式英文全称为:Android runtime,谷歌Android 4.4系统新增的一种应用运行模式,与传统的Dalvik模式不同,ART模式可以实现更为流畅的安卓系统体验,对于大家来说,只要明白ART模式可让系统体验更加流畅,不过只有在安卓4.4以上系统中采用此功能。



中文名ART模式


外文名Android runtime



运用系统安卓4.4以上


开发者google




目录
1Dalvik模式
2ART模式是什么




1
Dalvik模式编辑
如果要解释清楚什么是ART模式,我们就需要从Android系统的应用编译模式说起,我们都知道Android系统是以Linux系统为底层构建的,Android系统是开源(源代码公开)的,Android系统势必会适配到不同硬件配置的设备上,因此谷歌为了降低应用的开发难度在Linux底层之上构筑了一个名为“Dalvik”的虚拟机
因为Dalvik虚拟机的存在,Android系统的开发者只需使用谷歌提供的SDK(软件开发工具包)即可较为轻松的按照一套“规则”创建APP,不用顾忌硬件、驱动等问题,在每次执行应用的时候Dalvik虚拟机都会将程序的语言由高级语言编译为机器语言,这样当前设备才能够运行这一应用。
有的朋友可能注意到了,笔者特意强调了“每次”二字,以往的Android系统为了兼容性做出了妥协,在每次运行应用时都需要一次编译,这样程序的执行效率大大下降。同时也是为什么安兔兔为了照顾体验方面的得分在4.0版本之后特意加入了Dalvik虚拟机一项,如果该项得分越高证明该机的软件执行效率越高,在使用时的实际体验就会更加流畅、顺滑。[1]

2
ART模式是什么编辑

                               
登录/注册后可看大图

了解了Dalvik模式之后,我们便要了解一下Android4.4中新加入的ART模式,该模式的完整名称是Androidruntime,事实上谷歌的这次优化源于前不久其收购的一家名为Flexycore的公司,该公司一直致力于Android系统的优化,而ART模式也是在该公司的优化方案上演进而来。

ART模式与Dalvik模式最大的不同在于,在启用ART模式后,系统在安装应用的时候会进行一次预编译,在安装应用程序时会先将代码转换为机器语言存储在本地,这样在运行程序时就不会每次都进行一次编译了,执行效率也大大提升。
从这方面来看,ART模式确实能够改善Android平台一直以来在兼容性方面的妥协,但另一方面,应用经过预编译后的容量,以及应用是否兼容该模式也是需要重点考虑的问题。
旧版APK与系统不兼容的根源在于5.0对系统核心部分进行了大量修改,如采用了新的ART虚拟机(代码执行环境)、新的安全策略等,这直接导致一些应用安装不上,运行不了。




您需要登录后才可以回帖 登录 | 注册

© 2008-2024 移动叔叔. 版权所有,专业的网络售后平台 ( 闽ICP备18006692号-3 )

商务合作点击这里给我发消息|Email:service@mobileuncle.com|手机版|移动叔叔     

GMT+8, 2024-12-27 01:49 , Processed in 0.230374 second(s), 15 queries , Gzip On, Memcache On.

返回顶部