Android4.4 ART省电原理

移动开发 Android
一些基准测试表明ART将大多数应用程序的执行时间削减了一半左右。这就意味着那些需要大量处理器性能和长时间运行的任务会被更快地执行完毕。搭配更加省电的Sensor Hub技术,可以完美做到电量耗损减少的同时,提升流畅度。

图

Nexus 5在本月初悄然发布,它共同发布的还有Android 4.4操作系统。虽然目前预装Android 4.4操作系统的机型还只有Nexus 5一款,但在不久的将来,众厂商一定会给我们带来更多预装Android 4.4的机型,而且目前一些主流的旗舰产品也毫无疑问会升级至Android 4.4。

按照谷歌的说法,Android 4.4相比以往的版本来说更加省电,因为它在硬件底层方面发生了巨大的改变么?那么这其中的原理是什么呢?下面我们就来详细为大家解答一下。

首先,我们要搞清楚一个问题,那就是什么是Dalvik?

在整个Android 4.4的更新特性中,最引人瞩目的应该就是虚拟机由Dalvik转成ART,也就是“中间件”的变更(Midware)。先来看看什么是Dalvik。

图

如图,Dalvik虚拟机是一个Android运行时的一部分,作用在于连接底层核心、周边库与上层应用。

Dalvik的存在保证了Android在发展的初期可以让大量JAVA程序员转行做Android开发。同时也在兼容性上给予了保证。对于众多的JAVA程序员来说,只要维持好Dalvik虚拟机和上下层的接口,上层应用开发可以无视底层硬件。

当然,还有另一个跟专利有关的原因:直接上JVM虚拟机会跟Sun公司扯皮。所以Google弄出来了这个Dalvik。把所有JAVA字节码转成Dalvik字节码。

在Android 2.2时代,Google给Dalvik加入一个非常重要的特性——即为JIT(Just in time),即时编译技术。

应用程序每次运行时,其中一部分字节码都要需要机器重新编译为机器码。这个过程即消耗时间又要消耗系统资源,所以执行效率难免会降低。但其优点在于这种机制可以让各种各样的应用程序运行在多种硬件架构上。这也促成了海量山寨机在Android 2.2后井喷。

但最新的Android 4.4上,Google引入了新的ART(Android Runtime)虚拟机。在 ART 环境中,应用在第一次安装的时候,字节码就会预先编译成机器码,使其成为真正的本地应用。这样的话,应用的启动和执行都会变得更加快速。

ART哪些地方比Dalvik优秀?

一些基准测试表明ART将大多数应用程序的执行时间削减了一半左右。这就意味着那些需要大量处理器性能和长时间运行的任务会被更快地执行完毕。搭配更加省电的Sensor Hub技术,可以完美做到电量耗损减少的同时,提升流畅度。

当然,要做到这些也需要付出一些代价。首先,由于在安装时,ART需要应用程序的字节码转换成机器码,所以会消耗掉更多的存储空间。

其次,由于有了一个转码的过程,所以安装时间会延长。当然,这个没什么太大影响,只需要等会就行。

目前还有消息显示魅族的Flyme OS可能会升级至Android 4.4,但这必然会需要一定的时间,在Android 4.4的帮助下,Flyme OS的续航表现可能会更好一些。

责任编辑:闫佳明 来源: mobile.3g
相关推荐

2013-11-28 15:25:37

Android4.4ART模式苹果

2013-11-18 09:36:51

Android4.4KitkatART

2013-11-28 14:01:55

Android4.4ART模式

2013-11-28 13:53:08

Android4.4ART运行模式

2013-11-28 13:47:37

Android4.4ART模式

2013-11-12 15:03:49

2013-10-16 09:58:52

Nexus 5Android4.4

2013-11-11 15:31:32

虚拟机Android Run

2013-10-29 16:50:50

Android 4.4特性

2014-07-16 15:49:13

AndroidOpenGL 4.4

2012-02-22 15:58:37

Android 4.0点心省电省电宝

2013-11-04 09:25:08

Android 4.4设备

2013-11-28 14:25:00

Android4.4ART模式实测数据

2013-12-02 10:33:36

Android 4.4Nexus One

2017-03-13 15:00:15

AndroidTransition 动画框架

2021-08-09 20:29:27

Android沉浸式状态栏

2013-10-15 16:16:10

2013-11-04 17:28:44

Android

2013-09-04 10:15:22

Android开发

2013-11-26 16:49:55

Android开发运行时KitKat
点赞
收藏

51CTO技术栈公众号