- 2016年12月8日,Google中国开发者大会在京举行,同时正式上线了Google中国开发者网站Google Developers,查看官方学习资源再也不用爬梯子了
系统架构图及各层介绍
- Applications应用层:应用是用Java语言编写的运行在虚拟机上的程序,比如Email客户端,SMS短消息程序,日历等。
- Application Framework应用框架层:这一层是编写Google发布的核心应用时所使用的API框架,开发人员同样可以使用这些框架来开发自己的应用,这样便简化了程序开发的结构设计,但是必须要遵守其框架的开发原则。
- Libraries系统运行库(C/C++库以及Android运行库)层:当使用Android应用框架时,Android系统会通过一些C/C++库来支持我们使用的各个组件,使其更好的为我们服务,比如其中的SQLite(关系数据库),Webkit(Web浏览器引擎)。
- Linux Kernel内核层:Android的核心系统服务给予Linux2.6内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型等都依赖于该内核,比如Binder IPC(Internet Process Connection进程间通信)驱动,android的一个特殊驱动程序,具有单独的设备节点,提供进程间通信的功能。
Dalvik VM和JVM的区别
- 传统JVM编写.java文件----编译为.class文件----打包成.jar文件,将java源码编译为class文件,然后将一组class打包成jar。基于栈结构,栈存储于内存中,所以需要用到内存空间
- Dalvik VM编写.java文件----编译为.class文件----打包成.dex文件----打包成.apk文件。将一组class编译为一个dex文件,然后有的平台为了更高的效率会将一个dex转换成odex文件。将N多个class文件编译为一个dex,这样执行效率会比较快,更适合在移动平台运行。基于寄存器的结构,寄存器在cpu中,所以用到cpu的空间
-
DVM与JVM的区别:
ART模式概述
- ART模式概述ART模式是Android Runtime的简称,从Android 4.2开始出现。在Android 4.2以前,安卓手机系统的应用程序均在Dalvik Java的虚拟机上运行,这种运行模式是还要依靠一个编译器来实现与应用程序的沟通。应程序每次运行时,都需要将程序内的代码及时转变为机器码才能运行,这无形中多附加了一道手续,这就造成了耗电相对较快、占用内存大、即使是旗舰机用久了也会卡顿严重的现象。
- ART模式通过在安装应用程序时,自动对程序进行代码预读取编译,让程序直接编译成机器语言,免去了Dalvik模式要时时转换代码,实现高效率、省电、占用更低的系统内存、手机运行流畅。但凡事总有正反两面,ART在解决了该问题的同时,同时也有如:会占用略高一些的存储空间、安装程序时要相比普通Dalvik模式要长一些时间来实现预编译。