Android Framework学习笔记

1.整体架构

Anroid系统架构

  • Android APP
  • Android Framework
  • Android 运行层(Native库和运行时环境)
  • Android HAL
  • Linux Kernel

###Android Treble

  1. 作用:Android 8.0 引入,解偶、方便厂商升级系统
  2. 具体实现:引入vendor分区,拓展binder为hwbinder,使用hidl-gen工具生成C/Jave的接口类,在Android10.0时候废除HIDL,统一使用AIDL
  3. HIDL的两种方式:分为绑定式和直通式,绑定式运行在独立的进程中,直通式是为了兼容老版本HAL运行在Framework的进程中,使用哪一种方式在device下的manifest.xml中配置

2.系统启动流程

BootRom->BootLoader->Linux Kernel->Init->Zygote->SystemServer->Launcher

  1. BootRom、BootLoader 加载RAM,初始化硬件参数
  2. Linux Kernel 加载BSP,启动swapper(pid = 0,用于进程管理、内管管理、加载Driver等)和kthread(pid = 2 kernel所有进程的鼻祖)进程
  3. Init init进程启动后,启动SELinux安全策略,解析init.rc,启动logd、adbd、servicemanager进程,孵化出zygote进程
  4. zygote 启动虚拟机,注册JNI,孵化其他Andorid进程,包括SysetmService、launcher、SystemUI等,SystemService会启动PMS、AMS、WMS等核心服务

3.核心服务

3.1 AMS

3.2 PMS

3.2.1 权限
3.2.1 扫描与安装
3.2.1 dex优化

3.3 WMS

4.binder通信原理

5.selinux

6.编译原理

7.Audio

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值