Android Framework开发如何入门?Framework到底该如何学习?看完这你就知道了

前言

作为一名合格的 Android 开发,需要学习 Framework 知识,来解决 App 稳定性相关的问题

Framework 的源码学习一般由 init.rc 开始看起,因为它是一个 Android 系统启动必备的重要脚本,之后的几大系统进程都是由它启动的,比如 zygote,systemserver 等,这里主要记录一些基本概念,以及 Zygote 启动的源码分析。

可能大家听起来觉得内容不多,比较简单,但学习过的人就知道其中系统源码较为复杂,简单的说一下,就如以下:

init.rc

init 启动的四个重要进程如下:

1.Zygote 创建 App 的进程
2.ServiceManager 负责c/s通信管理的进程
3.SurfaceFlingler 显示渲染服务
4.Media 多媒体服务

SystemServer

Zygote 进程启动时,会顺带启动 SystemServer 进程

fork 是通过 native 方法调用,返回 pid 给到 Java 层

当然以上对于Android Framework这个庞大的知识库来说,仅仅只是入门,需要学习的还有更多,比如Binder,Handler等等。

如果你想要深入系统的学习Android Framework方面的知识要点,这里分享一份《Android Framework源码开发揭秘》,其中记录从系统启动流程到WMS全部源码解析,相信能很好的完整的学习整个Framework框架。

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

第一章 系统启动流程分析

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

第二章 Binder解析

  • 第一节 宏观认识Binder
  • 第二节binder的jni方法注册
  • 第三节binder驱动
  • 第四节 数据结构
  • 第五节 启动service_manager
  • 第六节获取service_manager
  • 第七节 addService流程
  • 第八节 Binder面试题全解析

在这里插入图片描述

第三章 Handler解析

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

第四章 AMS 解析

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

第五章 WMS解析

  • 第一节Activity与Window相关概念
  • 第二节 Android窗口管理服务WindowManagerService计算Activity窗口大小的过程分析
  • 第三节Android窗口管理服务WindowManagerService对窗口的组织方式分析
  • 第四节 Android窗口管理服务WindowManagerService对输入法窗口的管理分析
  • 第五节 Android窗口管理服务WindowManagerService对壁纸窗口的管理分析

第六章PKMS Android10.0 源码解读

  • 第一节 前言 PKMS 是什么东西?
  • 第二节 PKMS 概述信息
  • 第三节 PKMS角色位置
  • 第四节 PKMS 启动过程分析
  • 第五节 APK的扫描
  • 第七节 PMS之权限扫描
  • 第八节 PackageManagerService大综合笔记

小伙伴们如果有需要这份《Android Framework源码开发揭秘》,点击下方卡片即可【免费领取】

猜你喜欢

转载自blog.csdn.net/m0_59614665/article/details/127860866