Android Framwork知识学习总结

目录

Android系统架构

binder和AIDL原理

AIDL通信调用流程

Binder与AIDL之间的区别

bundle原理

Android启动流程

SystemServer启动过程

Activity启动流程

Window

绘制

Android事件分发机制

PackageManagerService

PowerManagerService

通知显示流程


Android系统架构

Android系统架构开篇-腾讯云开发者社区-腾讯云

binder和AIDL原理

binder原理

AIDL通信调用流程

AIDL调用流程

Binder与AIDL之间的区别

Binder与AIDL间的区别

bundle原理

bundle原理 ,内部用ArrayMap实现,增删改查基于二分法,适合小数据操作。

Android启动流程

  • recovery升级模式:启动recovery分区内核和文件系统
  • 正常启动模式:引导内核和启动Android系统
    1. 启动电源以及系统启动:加载引导程序Bootloader到RAM
    2. Bootloader :主要启动系统OS
    3. Linux Kenel :启动内核,设置缓存、被保护存储器、计划列表,加载驱动;查找init文件,启动init进程
    4. init进程启动 : init进程PID是1,父进程为linux系统内核的0号进程;初始化和启动属性服务,并且启动Zygote进程
    5. Zygote进程启动 : 创建DVM虚拟机并注册JNI,创建服务端Socket,启动SystemSrver进程
    6. SystemServer进程启动 : 启动Binder线程池和SystemServiceManager,并启动各种系统服务
    7. Launcher启动 在SystemServer进程中启动ActivityManagerService服务后启动Launcher,桌面程序启动后显示已安装应用的快捷图标

Android启动流程

zygote启动流程

SystemServer启动过程

SystemServer启动过程

Activity启动流程

Activity启动流程

Window

绘制

window 显示与绘制相关

view绘制原理

format,png

三个核心方法:measure, layout,draw

View draw方法分为下面 6 步:

  1. 绘制背景
  2. 保存 Canvas 图层为后续淡出做准备(可选)
  3. 绘制 View 的内容
  4. 绘制子 View (dispatchDraw)
  5. 绘制淡出边缘并恢复 Canvas 图层(可选)
  6. 绘制装饰(比如 foreground 和 scrollbar)


Android事件分发机制

Android事件分发机制

PackageManagerService

packageManagerService学习总结

PowerManagerService

PowerManagerService学习总结

通知显示流程

Android通知显示流程

Media 相关

IJKPlayer学习总结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值