» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


 62 12345
发新话题
打印

有了art之后安卓确实不一样了

引用:
原帖由 wangmax 于 2014-11-16 17:01 发表

art机制不是虚拟机了,一般走虚拟机的都是编译字节码,然后在虚拟机上解析执行,效率一般都不高,和native比要差几倍效率。
2.2之后Android就已经加入了JIT,Dalvik中跑的是机器码,不是字节码。 JAVA跑字节码的老黄历都是什么时候事情了……

ART只是在JIT的基础上进一步静态化,字节码翻译机器码的动作不在运行时进行,转到安装时一次性完成,整个框架仍然是虚拟机。

一说虚拟机就觉得性能低下这是哪留下的印象,要是真比原生差几倍,Android还要不要活了,什么软件都比IOS慢几倍,是人都不会用Android。


TOP

引用:
原帖由 阿喀牛斯 于 2014-11-16 17:53 发表


2.2之后Android就已经加入了JIT,Dalvik中跑的是机器码,不是字节码。 JAVA跑字节码的老黄历都是什么时候事情了……

ART只是在JIT的基础上进一步静态化,字节码翻译机器码的动作不在运行时进行,转到安装时一 ...
虚拟机里的jit作用有限,java 和avm都有jit机制,但效率都很烂。这个即时编译,只针对那些重复调用的方法编译成机器码,而整个程序是顺序执行的,大多数代码依然是解释执行,所以效率提升非常有限。

c比java\.net\as3之流 效率高个3倍以上是轻轻松松的。

oc是基于cocoa touch,做个app要导入一大堆框架,本身效率就比C差了一截了,但比虚拟机实在是要强出太多了。



TOP

 62 12345
发新话题
     
官方公众号及微博