Android框架浅析

Android框架浅析_第1张图片

如上图:Android主要分为 应用层、应用框架层、库层(包含库和Android运行时)、Linux内核层

其中应用层和框架层都是用Java写的,而Libraries层大多用C/C++缩写,应用层调用应用框架为我们提供的封装好的类,而框架层有的调用了Librayies层的C/C++所写的动态库(实际上Java通过JNI机制对C/C++代码的调用,是通过对编译好的C/C++源文件的动态库来实现的,Windows系统下的动态库文件是以 .dll为后缀的文件,在Linux系统下动态库文件是以 .so为后缀的文件);

Libraries层绿色部分是Android系统引进的大部分开源框架,包括SQLLite、Webkit、OpenGL|ES\SSL、SGL等,而Google主要实现的部分是Android运行时环境的Dalvik虚拟机,鉴于移动设备需要高效的运行软件,Dalvik虚拟机处理的dex文件是经过高度优化过的,与Java虚拟机不同Dalvik虚拟机基于寄存器实现的,而Java虚拟机是基于栈实现的,这样运行起来效率就会比Java虚拟机执行的Java字节码文件效率要高得多!


Linux内核层主要是由Linux 2.6x(当前最新Linux版本)裁剪出来的,内核层是对硬件的一个抽象,主要实现软件与硬件的交互,比如说控制:声卡、网卡等硬件设备!在Linux 内核层中主要有内核驱动、进程管理、安全管理和电池管理等服务!


你可能感兴趣的:(java,android,虚拟机,框架,linux,linux内核)