什么是android framework
看图说话,android框架从上至下分为:
- 应用层(Application),
- Java framework(Application Framework),
- Native framework. 包括Libraries 和 Android Runtime
- Hardware Abstraction Layer. 硬件虚拟层
- Linux kernel. 包括电源和硬件驱动
其中Java framework和Native framework合称android framework. Android framework主要讲的是层内,以及层与层之间如何通讯。
如何查看源码。可以访问(需要代理)https://cs.android.com/android。该网站提供了三个Repositories.
platform/superproject/main : 可以理解为android platform正在开发但尚未发布的分支
platform/superproject : android platform 老旧代码(stale)
kernel/superproject : linux kernel正在开发但尚未发布的分支。
为什么是android framework
android开发多年,如果仅在应用层徘徊的话,永远是门外汉。
学习android framework可以做什么
- 硬件上层适配
- 系统性能优化
学习主题
- android系统的启动
- 系统内核层启动
- Init进程
- zygote进程
- SystemServer进程
- APP的启动流程。
- Handler的原理
- Binder的原理
- AMS
- WMS
- PMS
学习内容参照:
- 《Android Framework 开发揭秘》
- cs.android.com