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


发新话题
打印

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

引用:
原帖由 阿喀牛斯 于 2014-11-16 12:12 发表
开了art感觉差不多是对的,本来就只是预编译对运行速度没什么提升,开启APP速度缩短一点而已,心理作用大于实际作用。

当然如果你系统资源一直处于快耗尽的情况下,提升会明显一点
按理应该差别明显,毕竟是不在虚拟机上跑了,少了个累赘。

但从很多人的体会看,art没有想象中那么跳跃,可能art尽管省掉了虚拟机,但java框架交叉编译出的native,冗余严重,优化不够,效率够呛。


TOP

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


ART仍然是虚拟机,而且虚拟机也不是累赘,使用得当的虚拟机在效率上不比NDK差多少,可以参考Google自带软件。使用大型软件的情况下,由于本身用的就是NDK,ART和Dalvik区别就更小了,大部分代码都是C和C++的。
...
art机制不是虚拟机了,一般走虚拟机的都是编译字节码,然后在虚拟机上解析执行,效率一般都不高,和native比要差几倍效率。



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

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