目录
前言
Android Framework 涉及的行业相当广泛,可以是手机,汽车,手表,冰箱,微波炉,电视,机顶盒,空调等等设备。
Framework 学习门槛也较高,而且需要的调试环境也需要成本,但薪资也比大部分 App 开发岗位高出不少。如果能系统地学习Framework,就显得更加尤为重要。
以下是一张android 经典框架图
·Linux kernel层,驱动程序
·HAL层,封装驱动硬件操作,向 App 提供统一稳定的驱动操作接口
·Native层,C/C++库以及Java 虚拟机
·Java 层,Java 库,系统服务等
·App 层,系统和三方APP
Framework 大多数指的是中间三层的开发,即 Java层、Native层、HAL层
Android 系统启动过程
1.由 Boot Loader引导开机
2.进入 -> Kernel
3.进入 ->Native
4.进入->Framework
5.进入 -> App
kernel层主要向上提供了驱动,Hal 层加以封装后,向上提供驱动程序功能·Native 层通过 init 进程2启动了很多守护进程用于支持系统的运转·Java 层通过 Zygote 孵化了 Java 守护进程,用于支持系统的运行和 App 的运行
Framework 能开发什么?
1.添加自己的硬件、驱动、HAL和硬件系统服务,硬件的提供商可能会提供相应软件支持.
2.定制系统 App,比如 Launcher Setting System Ul Message Camera 等.·
3.开发厂商自己的系统 App,比如 音视频播放器 应用商店 主题 红外遥控等·个性化功能开发,比如软件多开,手机分身,语音变声,录屏,双卡双待等等·
4.集成一些常用三方应用,比如 微信 淘宝 爱奇艺等
5.系统稳定性 性能 安全相关优化
6.系统裁剪