大数据

06 Android—art模式(从01开始点点入门,视频+笔记)

大家好,我是森森

这节课我简单给大家介绍一下art模式.

06 art模式

安卓手机从安卓4.2之后,大家在开发者选项里可能会看到一种新的虚拟机,这种虚拟机叫art虚拟机,叫art模式,之前给大家介绍的是dalvik虚拟机的好处,那这个art是什么东西呢?

一直以来,安卓系统就有一个缺点,就是运行速度比较慢,感觉没有iOS流畅,一个是先天性的原因,最开始安卓系统是给数码相机做的,它处理的优先级比较高的是键盘的操作,后来触摸屏才流行,安卓系统才开始支持这个触摸屏系统,所以它对触摸事件响应优先级并不是最高的,而iOS最高的优先级就是用来做图形的显示与用户的交互,所以大家感觉iOS系统比安卓系统要流畅很多,不过谷歌已经花大力气,去解决这个问题了了.

安卓5.0,界面是非常流畅的,另外,从安卓4.2后,推出了一种新的模式,art模式,它是用来做什么操作的呢?

我们知道iOS是c++,object c,来进行编写,c语言是一门底层的语言,而Java语言呢,稍微麻烦点,它得先变成字节码,装载到虚拟机里边,才能执行,它就多了一个装载解析执行的过程,这就导致了安卓代码就比iOS的代码运行速度就慢一点.

谷歌的art模式就是来解决这个问题的,所以art模式开启之后呢,你这应用程序在安装过程中就会自动的把Java代码全部翻译成底层的机器语言.以后应用程序再运行的话就没有这个解析执行的过程了,而是直接去执行底层的机器语言,所以,art模式下应用程序运行效率要提高一些.

谷歌为什么没有大力去推这个art模式呢?而是把art模式隐藏到开发者选项里边呢?主要是art模式目前并不是特别稳定,应用程序也没有针对art模式做专门的优化,另外,如果使用了art模式就会把应用程序翻译成机器码,占用空间较大,另外呢,art模式耗电量稍微大一些,这个技术呢,未来再发展几个版本后art虚拟机就会更加成熟起来.

不过大家不用担心,对于我们程序员来讲,你编写的这个Java代码,在dalvik虚拟机还是在art虚拟机里运行,对我们来说是透明的,这个过程是由操作系统实现的,你不需要担心是dalvik还是art,你写的代码都是可以运行的.

本人QQ号,525902456,如有错误,欢迎指出,希望能交到更多朋友,交流技术.