如何起步Framework框架?看完这些豁然开朗!

前言

听到有些Android开发工程师说去面试bilibili的时候,面试官上来就问:

    安卓的系统架构了解吗? 有没有过Framework的开发经验?

由此可见,Framwork在Android开发中占着举足轻重的地位。 应该不难知道,Framwork框架包含三个部分:服务端、客户端、Linux驱动。它提供了软件开发的框架,使得开发过程更具简便性和稳定性。

1.init进程

想要入门Framework,可以先从了解init进程开始。init进程是Android系统中及其重要的第一个进程,它的作用主要是:

    创建和挂载启动所需要的文件目录 初始化和启动属性服务 解析init. rc配置文件并启动Zygote进程

2.init.rc解析

init.rc是一个非常重要的配置文件,它是由Android初始化语言 (Android Init Language) 编写的脚本,它主要包含五种类型语句:Action (Action中包含了一系列的Command) 、Commands (init语言中的命令) 、Services (由init进程启动的服务) 、Options (对服务进行配置的选项) 和Import (引入其他配置文件)。

如果你想要深入系统的学习Android Framework框架,这里可以分享一份《Android Framework源码开发揭秘》,其中记录了从系统启动流程到WMS全部源码解析,相信你能优秀地学习整个Framework框架。

因文章篇幅原因,只放了部分内容,完整版文末卡片领取

第一章 系统启动流程分析

    第一节 Android启动概览 第二节 init.rc解析 第三节 Zygote 第四节 面试题

第二章 跨进程通信IPC解析

    第一节 Sercice 还可以这么理解 第二节 Binder基础 第三节 Binder应用 第四节 AIDL应用(上) 第五节 AIDL应用(下) 第六节 Messenger原理及应用 第七节 服务端回调 第八节 获取服务(IBinder) 第九节 Binder面试题全解析

第三章 Handler源码解析

    第一节 源码分析 第二节 难点问题 第三节 Handler常问面试题

第四章 AMS源码解析

    第一节 引言 第二节 Android架构 第三节 通信方式 第四节 系统启动系列 第五节 AMS 第六节 AMS 面试题解析

第五章 WMS源码解析

    第一节 WMS与activity启动流程 第二节 WMS绘制原理 第三节 WMS角色与实例化过程 第四节 WMS工作原理

第六章 Surface源码解析

    第一节 创建流程及软硬件绘制 第二节 双缓冲及SurfaceView解析 第三节 Android图形系统综述

第七章 基于Android12.0的SurfaceFlinger源码解析

    第一节 应用建立和SurfaceFlinger的沟通的桥梁 第二节 SurfaceFlinger的启动和消息队列处理机制 第三节 SurfaceFlinger 之 VSync(上) 第四节 SurfaceFlinger之VSync(中) 第五节 SurfaceFlinger之VSync(下)

第八章 PKMS源码解析

    第一节 PKMS调用方式 第二节 PKMS启动过程分析 第三节 APK的扫描 第四节 APK的安装 第五节 PKMS之权限扫描 第六节 静默安装 第七节 requestPermissions源码流程解析

第九章 InputManagerService源码解析

    第一节 Android Input输入事件处理流程(1) 第二节 Android Input输入事件处理流程(2) 第三节 Android Input输入事件处理流程(3)

第十章 DisplayManagerService源码解析

    第一节 DisplayManagerService启动 第二节 DisplayAdapter和DisplayDevice的创建 第三节 DMS部分亮灭屏流程 第四节 亮度调节 第五节 Proximity Sensor灭屏原理 第六节 Logical Display和Physical Display配置的更新
经验分享 程序员 微信小程序 职场和发展