Android体系和系统架构
Android系统架构
Linux层
最低层,核心层:包含了Android系统的核心服务,比如硬件驱动、进程管理、安全系统等。
Dalvik 和 ART
Dalvik包含了一整套的Android运行环境虚拟机,每个App都会被分配Dalvik虚拟机来保证互相之间不受干扰。
特点:运行时编译,即当要运行这个app时,才去编译这个app
5.X开始,ART模式取代了Dalvik,ART是安装时编译。
Framework
比如WindowManager、PackageManager
Standard libraries
包含一些标准库,就是开发者在开发环境中使用的库
Application
应用层,可以使用NDK和Java编写
App组件架构
四大组件配合工作,各司其职
Context
Context对象可以理解为当前对象在程序中所处的环境,一个与系统交互的过程
Activity、Service、Application都继承自Context
Android会在以下几种情况来创建应用的Context对象:
- 创建Application
- 创建Activity
- 创建Service
每当应用启动的时候,都会创建一个Application对象,同时创建Application Context对象。所有的组件都拥有这个Context对象,这个Context贯穿整个应用的生命周期,为全局提供功能和环境支持。
而在创建Activity和Service组件的时候,也同样创建一个Context对象。
Android系统目录
/system/bin:Linux自带组件
/system/build.prop:记录系统属性信息
/system/fonts/:系统字体存放目录
/system/framework/:系统核心文件、框架层
/system/lib/:共享库(.so)文件
/ststem/media/:用来保存系统的提示音、铃声
/system/media/audio/:系统默认铃声
/system/media/audio/ui/:一些界面音效,比如解锁声音
/system/usr/:保存用户配置文件,如:键盘布局、共享、时区文件
/data/app/:包含了用户安装的app
/data/data/:用来保存App的数据信息,文件信息,数据库信息等
/data/system/:包含了手机系统的各项信息
/data/misc/:保存了Wifi信息、VPN信息
Android App目录结构
AndroidApp目录结构就是工程结构!