作者hayatoman (小小的改变是,成功的开始)
看板AndroidDev
标题[情报]512MB设备为啥能流畅运行Android4.4
时间Fri Nov 8 10:33:57 2013
与iOS相比,Android的用户体验有个相对糟糕的开始。在很长的时间里,界面一直丑小鸭
,卡顿也是挥不去的痛。不过,在Google的全力推动,以及硬体厂商的响应下,Android
还是跨越各种阻碍,逐渐壮大起来了。
在此过程中,Google也在经历着重大的变化。它逐渐从一个只重视数据的公司,转变为一
个重视设计和用户体验的公司。从Android 4.0开始,Android 拥有了自己的设计语言和
应用设计指导。与此同时,Google也在着手解决卡顿问题。Android 4.1的「黄油计画」
使系统和应用运行都更加顺畅,而Android 4.2的「Project Svelte」提升了内存管理,
使得系统能够顺利运行在硬体配置低阶的设备上。
但是,所有这些都没有解决核心问题,那就是应用运行环境。Dalvik VM效率并不是最高
的。从Android 4.2开始,Google 开发者引进了新的Android运行环境ART(意思就是
Android Runtime。Android官方页面的介绍中,也将其称作新的虚拟机),以替代旧的
Dalvik VM。它现在是实验选项,系统默认的运行环境仍然是Dalvik。ART会为Android带
来怎样的改变?
ART的机制与Dalvik不同。在Dalvik下,应用每次运行的时候,字节码都需要通过即时编
译器转换为机器码,这会拖慢应用的运行效率,而在ART环境中,应用在第一次安装的时
候,字节码就会预先编译成机器码,使其成为真正的本地应用。这个过程叫做预编译(
AOT,Ahead-Of-Time)。这样的话,应用的启动和执行都会变得更加快速。
根据一些基准测试,新的运行环境能够使大多数应用的执行时间减半。这意味着,CPU 消
耗大、运行时间长的应用能够更加快速地完成,而一般的应用也能更加流畅,比如动画效
果更顺畅,触控反馈更加即时。在多核处理器的设备上,多数情况下只需激活少量的核心
,或者能够更好的利用ARM的big.LITTLE架构。另外,它将会显着提升电池的续航能力以
及系统的性能。
预编译也会带来一些缺点。一方面,机器码占用的存储空间更大。字节码变为机器码之後
,可能会增加10%-20%,不过在应用包中,可执行的代码常常只是一部分。比如最新的
Google+ APK是28.3MB,但是代码只有6.9MB。另一方面,应用的安装时间会变长。至於延
长多少时间,取决於应用本身,一些复杂的应用如Facebook和Google+会让你等待更长时
间。
总的来说,ART的优点还是远远超越其缺点的。毕竟,影响用户体验的要素中,电池续航
和应用顺畅运行更为重要。我们仍然不知道ART何时能够替代Dalvik,不过AndroidPolice
网站说,Google已经秘密开发了两年之久。Android摆脱卡顿的希望,看来就是它了。
目前在Android4.4的开发人员的功能选项中,已有切换Runtime的功能,
切换後,会切换VM Lib,同时要求重开机。
我的Galaxy Nexus在使用ART後,让这是只有1.2Ghz的双核机(现在是
低阶机),也有变更顺的机会
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.120.66.84
1F:推 XD9527:我的Desire 可以再战10年吗!! 11/08 13:54
2F:推 gpc:512MB可以顺畅的运行4.4前提是没有OEM做得各式各样的APP 11/09 00:48
3F:→ gpc:OEM的APP才是真正拖慢系统效能的东西 END 11/09 00:48
4F:→ gpc:是否突破盲肠了呢 11/09 00:48
5F:→ qweqweqweqwe:看一些google自己的change有些的确是为了save memory 11/09 01:52
6F:→ qweqweqweqwe:而稍微省略了一些UI效果 11/09 01:52