|
|
【LG Nexus 4】讨论分享专区(4.7",无线充电,S4 Pro,2GB RAM,5.1系统)
[复制链接]
|
|
|
发表于 11-12-2013 06:49 PM
|
显示全部楼层
新力爱力新 发表于 11-12-2013 11:03 AM 
iOS 不需要 VM
因爲 Apple 家的產品都是自己的
不需要考慮去支援其它家的硬體架構
以我对你回复的了解
是不是dalvik是在开启程序时才开始vm compile 再 build cache,那么end process过后再开回来的话会再compile过吗?
ART好象是在安装的时候就compile好了,所以比较占储存,正式开启的时候不需要build cache,那么还要vm模拟java吗? |
|
|
|
|
|
|
|
|
|
|
发表于 11-12-2013 07:14 PM
|
显示全部楼层
其實3個英文字就解釋完ART和Dalvik... 
ART > AOT compilation
Dalvik > JIT compilation |
评分
-
查看全部评分
|
|
|
|
|
|
|
|
|
|
发表于 11-12-2013 07:20 PM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 11-12-2013 08:43 PM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 11-12-2013 08:57 PM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 11-12-2013 09:51 PM
|
显示全部楼层
baseband Version换成 .98后发现 2G, 3G, WiFi讯号方面更加稳定了,满意.gif) |
|
|
|
|
|
|
|
|
|
|
发表于 11-12-2013 09:59 PM
|
显示全部楼层

其实android最重要的就是这张图。
1. app 本来都是用Java (人类可以读的语言) 编写,根据java所拥有的功能编写,成为适合在Java环境运行的bytecode - .class (Java 机械语言)
2. 下载到电话install时就会根据libdalvik把.class (Java 机械语言)重新编写成Dalvik明白和适合在android运行的bytecode - .dex (dalvik 机械语言),重新编写的同时也会参考android本身的core library把已经有的library去除,避免重复,所以就占更小的地方。
3. 当你打开app的时候,Dalvik 就会把之前的bytecode - .dex(dalvik机械语言),转换成适合直接用在Android Runtime的语言 (Native Codec)
用ART的话,差别只是在
2. 下载到电话install的时候会直接重新编写成适合直接用在Android Runtime的语言 (Native Codec),所以节省了第3个步骤,所以理论上比较快,也比较省电(不用一直从.dex 换去Native Codec)
用ART的坏处,一个是Native Codec 在library方面重复所以比较吃storage,install时比较慢(这个可以改善的,等谷歌老大做好ART后install的速度不应该差这么远的)
不管什么牌子的processor,都是可以用ART的,不是只有Snapdragon可以而已。因为ART的差别也只是节省了Dalvik这个步骤而已。沟通实际hardware的都还是linux kernel。真的是3个字解释完 JIT vs AOT
|
评分
-
查看全部评分
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 11-12-2013 10:34 PM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 11-12-2013 10:36 PM
|
显示全部楼层
Jason929 发表于 11-12-2013 07:14 PM 
其實3個英文字就解釋完ART和Dalvik...
ART > AOT compilation
呵呵~对你们有些知识的当然简单
但对很多人来说那3个英文字是代表什么都不知道
|
|
|
|
|
|
|
|
|
|
|
发表于 11-12-2013 11:04 PM
|
显示全部楼层
真是上了一堂OS课啊

高手高手 |
|
|
|
|
|
|
|
|
|
|
发表于 11-12-2013 11:04 PM
|
显示全部楼层
真是上了一堂OS课啊

高手高手 |
|
|
|
|
|
|
|
|
|
|
发表于 11-12-2013 11:14 PM
|
显示全部楼层
UnitedDream 发表于 11-12-2013 09:59 PM 
其实android最重要的就是这张图。
1. app 本来都是用Java (人类可以读的语言) 编写,根据java所拥 ... 用ART的坏处,一个是Native Codec 在library方面重复所以比较吃storage 想问问关于这个。
为什么ART不能在AOT compile时也一起把重复的native codec library 去掉呢?
第二个问题顺便问你关于那个android architecture diagram.
kernal 那层是硬件driver,
那如果一个新厂家要用android,不需要有自己特别的feature,
直接拿原声android去用,是不是直接打开来,把那些driver component换掉就行的了?
|
|
|
|
|
|
|
|
|
|
|
发表于 11-12-2013 11:49 PM
|
显示全部楼层
1234_4321 发表于 11-12-2013 11:14 PM 
想问问关于这个。
为什么ART不能在AOT compile时也一起把重复的native codec library 去掉呢?
因为dalvik的JIT, 可以把那些library看成一个个module (Library),要用的时候(launch app)才把他整合起来compile成native codec。。。
第二个问题,可以说是对的,还有就是ROM里的application Framework也需要根据hardware进行删减。这也是为什么xda很多AOSP ROM很容易compile,但是没有厂家update的kernel source的话就会一堆问题。
|
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 12-12-2013 12:02 AM
|
显示全部楼层
UnitedDream 发表于 11-12-2013 11:49 PM 
因为dalvik的JIT, 可以把那些library看成一个个module (Library),要用的时候(launch app)才把他整合 ...
United兄,可以简单的说一下什么是AOT和JIT吗
|
|
|
|
|
|
|
|
|
|
|
发表于 12-12-2013 12:06 AM
|
显示全部楼层
.Hardy. 发表于 12-12-2013 12:02 AM 
United兄,可以简单的说一下什么是AOT和JIT吗
刚刚上两个post才说了啊,JIT就是Dalvik的做法,要用的时候才compile成native code。AOT则是ART的做法,install的时候就compile成native codec
Native codec则是android runtime运行时所用的语言。 |
|
|
|
|
|
|
|
|
|
|
发表于 12-12-2013 12:50 AM
|
显示全部楼层
欢 发表于 11-12-2013 08:57 PM 
x的,差点就把nexus 4卖掉了(好彩还是不舍得它)
看来大家投资Nexus系列还是最明智的选择{:spo ...
什么事搞到要卖电话? 又升级电脑? 
|
|
|
|
|
|
|
|
|
|
|
发表于 12-12-2013 12:53 AM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 12-12-2013 12:59 AM
|
显示全部楼层
来报告一下。。之前4.4 我已经转去ART mode.. 结果papago 和 whatsap 用不到了。。前天自己刷4.4.1 ,今天又再安装 whatsap...装到了也。。 |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 12-12-2013 08:40 AM
|
显示全部楼层
UnitedDream 发表于 12-12-2013 12:06 AM 
刚刚上两个post才说了啊,JIT就是Dalvik的做法,要用的时候才compile成native code。AOT则是ART的做法,i ...
就是说JIT和AOT是一种算法(algorithm)?对吧
|
|
|
|
|
|
|
|
|
|
|
发表于 12-12-2013 08:56 AM
来自手机
|
显示全部楼层
|
|
|
|
|
|
|
|
| |
本周最热论坛帖子
|