基本架构
Android的基本架构分为四部分:
一、Linux Kernel(Linux内核)
Android是构建在Linux内核之上的,基于的内核的好坏对Android设备的运行效率有着很大的影响,从图不难看出,Linux Kernel基本上都是Drivers,也就是我们Android设备的驱动,爱玩的同学应该知道选择一个合适的驱动版本是非常重要的。
Linux作为Android的基础架构的主要原因有:可移植性、安全性、特性
二、Libraries(库)
包含了c/c++的一个libraries的集合,为Android应用层提供了一些必要的服务,主要包括:
Surface manager:管理访问显示子系统,课从多模块应用中无缝结合2D、3D图形;
Media Framework:一个开源的媒体框架,做media的重要部分。
SQLite:一个全功能的数据库。
OpenGL:3D图像渲染库。
FreeType:位图、矢量渲染;
WedKit:高速Web渲染引擎,被许多浏览器兼容。
SGL:底层2D图像引擎。
SSL:安全组件
libc:Linux的默认C标准库。
Android runtime:
Dalvik VM,是一个专门为android设计的虚拟机,主要是将java字节码转换成Dalvik字节码,然后在Dalvik VM上运行。文件后缀为.dex,占用内存小。
Dalvik的过程: Java源码——Java字节码——Dalvik字节码——Dalvik VM
标准java过程:Java源码——Java字节码——JVM
也就是理论上只要任何编程语言可以编译Java字节码的话,就可以用来开发Android,不知道用C来开发Android是不是基于这个原理。
三、Application Framework(应用框架)
应用框架为开发者提供了一个开放的开发平台,Libraries中的各种库就是通过应用框架来向开发者开放的,有着完善的的中文文档(英语不好的有救了T.T),激发开发者的创作灵感。
在应用框架这一层,有着许多的专为Android设计的Java库,还有就是各种服务于管理程序,在学习Android开发过程中,大部分都是在操作这一部分。
四、Applications(应用)
APK文件,分为3个部分:1、Dalvik文件 2、资源(图片,布局等) 3、本地库
android软件堆叠(迭层架构):操作系统、中间件、应用
更多相关文章
- Xposed框架之函数Hook学习
- 【译】Google官方推出的Android架构组件系列文章(三)处理生命周期
- 【Android】注解框架(二)-- 基础知识(Java注解)& 运行时注解框架
- [转]Android的Camera架构介绍[有图]
- 打造android ORM框架opendroid(四)——优雅的删除数据
- 10个快速开发Android/Iphone web App应用的框架
- Android的Camera架构简介