Chiphell - 分享与交流用户体验

 找回密码
 加入我们
搜索
      
查看: 5282|回复: 19

安卓4.4可选原生运行环境抛弃虚拟机?

[复制链接]
发表于 2013-11-7 19:03 | 显示全部楼层 |阅读模式
本帖最后由 CHR小陈 于 2013-11-7 19:08 编辑

请高人指点一下!~
补充 dalvik:Dalvik是Google公司自己设计用于Android平台的Java虚拟机。Dalvik虚拟机是Google等厂商合作开发的Android移动设备平台的核心组成部分之一。它可以支持已转换为 .dex(即Dalvik Executable)格式的Java应用程序的运行,.dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。Dalvik 经过优化,允许在有限的内存中同时运行多个虚拟机的实例,并且每一个Dalvik 应用作为一个独立的Linux 进程执行。独立的进程可以防止在虚拟机崩溃的时候所有程序都被关闭。
Dalvik 虚拟机和 Sun JVM 在架构和执行方面有什么本质区别?
目前我理解的是:
两者共同点:
  • 都是解释执行 byte code
  • 都是每个 OS 进程运行一个 VM,并执行一个单独的程序
  • 在较新版本中(Froyo / Sun JDK 1.5)都实现了相当程度的 JIT compile 用于提速
根据 http://en.wikipedia.org/wiki/Dalvik_(software) ,两者不同点:
  • Dalvik 的指令集与 Sun JVM 指令集不同。可由 Sun JVM 的 byte code 由 dx 工具处理生成 .dex 格式的中间码
  • Dalvik 虚拟机架构是 register-based,与 Sun JDK 的 stack-based 不同















ART:Andriod 4.4 的 ART 文件是什么东西,有何作用?> ART is a new Android runtime being introduced experimentally in the 4.4 release. This is a preview of work in progress in KitKat that can be turned on in Settings > developer options. This is available for the purpose of obtaining early developer and partner feedback.

via http://source.android.com/devices/tech/dalvik/art.html

添加评论 分享

按票数排序
3 个回答

赞同8反对,不会显示你的姓名
[url=][/url]知乎用户,
袁野modrich、知乎用户 等人赞同

以后可能是这样的顺序:

java编译成jar,再由dx编译成dex并打包为apk/jar,到实机变成odex,如果启用了art,就接着由设备中的art编译成oat文件

而oat则是本地代码映像,art在这里的作用类似.Net的ngen.exe

art应该利用了LLVM

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


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

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



6529f26ajw1ea5igfrcq1j20xc18gn6z.jpg
 楼主| 发表于 2013-11-7 19:11 | 显示全部楼层
Dalvik是Android的核心组成部分之一,Android上的应用程序需要依靠它才可以正常运行。现在Google准备用新的运行环境ART来替代它。在最新的Android4.4上,有两个运行环境供开发者选择——默认的Dalvik和测试中的ART。
在以前的Android系统上,所有的应用程序都是运行在Dalvik中。应用程序每次运行时其中一部分代码都要需要机器重新编译。这个过程即消耗时间又要消耗系统资源,所以执行效率难免会降低。但其优点在于这种机制可以让各种各样的应用程序运行在多种硬件架构上。相比Dalvik,ART的处理机制完全不同,它会在应用程序安装时就把程序代码转换成机器语言,让程序成为真正的本地应用。这样做的好处是程序的启动时间被极大的提高,运行速度也会更快。电量消耗的更少,系统行也跟着更加流畅。
对于想尝鲜的Nexus5用户可以到设置的开发者选项里选择ART选项,确认之后机器会重启,根据手机内安装的应用程序数量不同,第一次开机消耗的时间也不相同。
由于ART还处于测试阶段,所以目前还很难精确地度量出其为Android设备提升的效率。但是一些基准测试表明它将大多数应用程序的执行时间削减了一半左右。这就意味着那些需要大量处理器性能和长时间运行的任务会被更快地执行完毕,系统也会更多地停留在闲置状态。电量损耗会减少,流畅度也自然会提升。
当然ART带来一些优点的同时,也会带来一些缺点。
其一,由于ART需要应用程序在安装时就把程序代码转换成机器语言,所以这会消耗掉更多的存储空间,但消耗掉空间的增幅通常不会超过应用代码包大小的20%。
其二,由于有了一个转码的过程,所以应用安装时间难免会延长。拿最新的Google+应用为例,其apk格式的安装包大小为28.3MB,但其代码仅为6.9MB,所以多消耗掉的存储空间并不惊人。至于第二个缺点那就只能等待了。
事实上,ART项目在Google内部已经进行了2年左右的时间。回溯一下,当时差不多就是Google和甲骨文因为Java专利官司闹得不可开交的那段时期。虽然到今天我们很难判断发起ART项目的初衷是哪一个,但既然它能提升Android设备的性能,我们为什么不欢迎呢?
 楼主| 发表于 2013-11-7 19:12 | 显示全部楼层
彻底准备和CHROME OS 融合  然后抛弃虚拟机  这样安卓的效率还会比目前有巨幅提升吧。?具体还是不太懂啊  有没有高人解释  
发表于 2013-11-7 19:12 | 显示全部楼层
MS是新运行环境,速度更快,还不稳定
http://www.androidpolice.com/201 ... s-debuts-in-kitkat/
 楼主| 发表于 2013-11-7 19:14 | 显示全部楼层
Cye3s 发表于 2013-11-7 19:12
MS是新运行环境,速度更快,还不稳定
http://www.androidpolice.com/2013/11/06/meet-art-part-1-the-new-s ...

开发者还没有完全遵循新API开发软件 这也是碎片化的结果 。
长期还是看好安卓和chrome os融合啊
发表于 2013-11-7 19:17 | 显示全部楼层
好消息啊,只是不知道节电效率能够达到什么程度[太阳]
发表于 2013-11-7 19:43 | 显示全部楼层
真要提升效率的话,那一批老机就要焕发第二春了
发表于 2013-11-7 20:56 | 显示全部楼层
CHR小陈 发表于 2013-11-7 19:12
彻底准备和CHROME OS 融合  然后抛弃虚拟机  这样安卓的效率还会比目前有巨幅提升吧。?具体还是不太懂啊   ...

这东西除了谷歌android团队,别人没看过源码解释不了,即便解释得了普通用户也未必能听懂。
发表于 2013-11-7 22:13 | 显示全部楼层
对用户只有
1.能用
2.不能用
发表于 2013-11-7 23:07 来自手机 | 显示全部楼层
我觉得谷歌已经放弃治疗了,底层代码还是没有提高触摸屏响应时间。
发表于 2013-11-7 23:39 | 显示全部楼层
这种机器的编译法和真正原生手工写出来的c/c++编译出的机器码还是有差距,最大的区别还是在内存管理上……
发表于 2013-11-8 00:59 | 显示全部楼层
貌似10楼比较懂,LZ可以请教一下。
我觉得3儿子就已经够流畅了,5儿子应该会更好。
发表于 2013-11-8 03:49 | 显示全部楼层
sss999sss 发表于 2013-11-7 23:07
我觉得谷歌已经放弃治疗了,底层代码还是没有提高触摸屏响应时间。

哈哈,还真有人信了那个网站了...那个网站脸都被打肿了,群众纷纷表示ip5用它们的方法测试出来比他们要慢,android测试出来的成绩比他们要快......最后这个节操全无的网站自己也承认ip5测试成绩出错了
发表于 2013-11-8 08:40 | 显示全部楼层
红宝石兔子 发表于 2013-11-8 03:49
哈哈,还真有人信了那个网站了...那个网站脸都被打肿了,群众纷纷表示ip5用它们的方法测试出来比他们要慢,a ...

用到现在的各种安卓机,简单划两下屏幕,和IOS高下立判了。

我已经是微软谷歌一生黑了。谷歌的逗比浏览器各种BUG,还没360好用。

目前在用5S。再也不会回安卓了。
发表于 2013-11-8 16:21 | 显示全部楼层
sss999sss 发表于 2013-11-8 08:40
用到现在的各种安卓机,简单划两下屏幕,和IOS高下立判了。

我已经是微软谷歌一生黑了。谷歌的逗比浏览 ...

Chrome不错啊。。。我现在手机,平板,家里电脑,单位电脑全面转了,除了少数网银,12306不能用,其他全面同步挺好的
发表于 2013-11-8 16:26 | 显示全部楼层
sss999sss 发表于 2013-11-8 08:40
用到现在的各种安卓机,简单划两下屏幕,和IOS高下立判了。

我已经是微软谷歌一生黑了。谷歌的逗比浏览 ...

拿chrome和safari比简直就是欺负人啊…只想不同都是基于webkit引擎,怎么一个能差那么多…
发表于 2013-11-8 16:27 | 显示全部楼层
sss999sss 发表于 2013-11-8 08:40
用到现在的各种安卓机,简单划两下屏幕,和IOS高下立判了。

我已经是微软谷歌一生黑了。谷歌的逗比浏览 ...

对了那网站有群众测试,s2和5几乎一样快~
发表于 2013-11-12 12:33 | 显示全部楼层
小白问一句,为啥要运行在虚拟机上呢?
发表于 2013-11-12 12:35 | 显示全部楼层
还是虚拟机,只是某些部分执行效率高了。
发表于 2013-11-12 13:37 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

小黑屋|手机版|Archiver|Chiphell ( 沪ICP备12027953号-5 )沪公网备310112100042806

GMT+8, 2019-2-21 22:34 , Processed in 0.016671 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.1

© 2007-2019 Chiphell.com All rights reserved.

快速回复 返回顶部 返回列表