一、框架简介
分成三部分:boot kernel AndroidOs组成
内核:负责内存管理,进程管理,网络管理,并且可以直接访问硬件。
AndroidOS分成下面几层:
Hal层: 主要作用把外设抽象出标准接口,供Framework(C++)调用
Framework(C++)层:承上启下作用,对于Framework(java)层提供服务,对下能够挂接Hal层的外设,并且提供保护。假设同时有多个app来访问外设,那么Framework(C++)就会保护同一时刻只能一个来访问。
ThridPaty Library层(第三方库):比如:libjpe libpng等
Dalvik虚拟机:连接上层的应用、底层服务(Framework(C++)层)、第三方库。提供一个自动化管理,特别是内存管理。同时又了Dalvik可以使用java来写程序。
Framework层(java)层:java的各类管理,包的管理、电源管理等
App层:基于java实现
应用程序访问到外设的过程:
App执行后,进入Framework(Java)层,进入Dalvik从而调用Framework(C++)最终进入Hal层,调用到具体的外设去工作。
二、android目录简介