安卓平台开发一
安卓发展史
安卓(Android)是一种基于Linux内核(不包含GNU组件)的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑。
随着版本的更迭,应用程序编程接口(API)等级不断发生。
现在市场上大多数手机都已经在5.0版本。
安卓系统架构图
最底层:LINUX KERNEL
目前Linux核心一般都是2.6,
中间的接口库:LIBRARIES
接着:应用程序的框架结构 最上面的是APP
所有的应用程序都是使用JAVA语言编写的,利用JAVA的跨平台性质。
系统运行库
包含程序库和运行库
运行库:Dalvik虚拟机 转换为dex格式让虚拟机运行 边编译边运行
art 编译完后运行(运行时间)提高运行效率和减少电量 但是安装的时候要进行编译 要保存中间产生的字节码
Dalvik和ART的关系
安卓的可执行:APK 解压后一个zip文件和class.dex文件(字节码文件)
每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik被设计成一个设备可以同时高效地运行多个虚拟系统。Dalvik虚拟机执行(.dex)的Dalvik可执行文件,该格式文件针对小内存使用做了优化。同时虚拟机是基于寄存器的,所有的类都经由JAVA编译器编译,然后通过SDK中的 “dx” 工具转化成.dex格式由虚拟机执行。