Android Framework底层原理解密(AMS、PMS、Activity、Binder...)

我想点击此文的各位应该已对 Framework 系统架构有一定的了解,Android系统架构的分层,一共5层,从上到下依次是应用层、应用框架层、系统运行库层、硬件抽象层和Linux内核层。其中,应用框架层(Java API Framework)就是我们今天要着重讨论的部分。

Android Framework 开发比较偏向底层,像掉帧监控,函数插装,慢函数检测,ANR 监控,启动监控,都需要对 Framework 有比较深入的了解,许多APP的架构设计也都建立在Android Framework底层原理实现的基础之上。可以说:“只需要搞懂底层原理,那些工作中难以处理的优化问题都可以迎刃而解!”

img

如何学习Framework?

而对于我们开发人员而言,对Framework有一定的了解和掌握无疑会为我们的求职添上一枚重要砝码,未来的发展前景也会更大

因此,这里就给大家推荐一份由腾讯技术团队出品的《Android Framework开发揭秘》。这份资料全文共26万字,包含109个知识点,通过经典Binder、Handler、AMS等面试题解析加深你对Android Framework框架层的理解,助你轻松上手Framework!

《Android Framework 开发揭秘》

目录

请添加图片描述

第一章 系统启动流程分析

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

img

第二章 Binder解析

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

img

第三章 Handler解析

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

img

第四章 AMS解析

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

img

第五章 WMS解析

  • 第一节Activity与Window相关概念
  • 第二节 Android窗口管理服务WindowManagerService计算Activity窗口大
  • 第三节Android窗口管理服务WindowManagerService对窗口的组织方式分析
  • 第四节 Android窗口管理服务WindowManagerService对输入法窗口(Input
  • 第五节 Android窗口管理服务WindowManagerService对壁纸窗口(Wallpap
  • 第六节Android窗口管理服务WindowManagerService计算窗口Z轴位置的过程分析
  • 第七节Android窗口管理服务WindowManagerService显示Activity组件的启
  • 第八节Android窗口管理服务WindowManagerService切换Activity窗口(A
  • 第九节 Android窗口管理服务WindowManagerService显示窗口动画的原理分析

img

第六章PKMS Android10.0 源码解读

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

《Android Framework 精编内核解析》

目录

请添加图片描述

第一章 深入解析Binder

  • 第一节 Binder系列—开篇
  • 第二节 Binder Driver初探
  • 第三节 Binder Driver再探
  • 第四节 Binder启动ServiceManager
  • 第五节 获取ServiceManager
  • 第六节 注册服务(addService)
  • 第七节 获取服务(getService)
  • 第八节 Framework层分析
  • 第九节 如何使用Binder
  • 第十节 如何使用AIDL
  • 第十一节 Binder总结
  • 第十二节 Binder面试题全解析

img

第二章 深入解析Handler消息机制

  • 第一节 宏观理论分析与Message源码分析
  • 第二节 MessageQueue的源码分析
  • 第三节 Looper的源码分析
  • 第四节 Handler的源码分析
  • 第五节 Handler机制实现原理总结
  • 第六节 Handler面试题全解析

img

第三Dalvik VM进程系统

  • 第一节 Android系统启动-综述
  • 第二节 Init篇
  • 第三节 zygote篇
  • 第四节 SystemServer上篇
  • 第五节 SystemServer下篇

img

第四章 深入解析WMS

  • 第一节 WMS概述
  • 第二节 WMS的诞生

img

第五PackageMS启动

  • 第一节 PackageMS相关框架类
  • 第二节 PackageMS启动过程

img

第六AMS 面试专题

  • 第一节 AMS

img

《Android 11.0最新 Framework 解析》

目录

img

img

第一章 系统启动

  • 第一节 Android系统结构
  • 第二节 Android是怎么启动的
  • 第三节 Android 11.0系统启动之init进程
  • 第四节 Android11.0系统启动之Zygote进程
  • 第五节 Android 11.0 系统启动之SystemServer进程
  • 第六节 Android 11.0 系统服务之ActivityMnagerService-AMS启动流程
  • 第七节 Android11.0系统启动之Launcher(桌面)启动流程
  • 第八节 Android11.0应用进程创建过程以及Zygote的fork流程
  • 第九节 Android 11.0 PackageManagerService(一)工作原理及启动流程
  • 第十节 Android 11.0 PackageManagerService-APK安装流程

img

第二章 日志系统篇

  • 第一节 Android11.0 日志系统分析-logd、logcat 指令说明、分类和属性

img

第三Binder通信原理

  • 第一节 Android11.0 Binder通信原理(一)Binder、HwBinder、VndBinder概要
  • 第二节 Android11.0 Binder通信原理(二)-Binder入门篇
  • 第三节 Android11.0 Binder通信原理(三)-ServiceManager篇
  • 第四节 Android11.0 Binder通信原理(四)-Native-C\C++实例分析
  • 第五节 Android11.0 Binder通信原理(五)-Binder驱动分析
  • 第六节 Android11.0 Binder通信原理(六)-Binder数据如何完成定向打击
  • 第七节 Android11.0 Binder通信原理(七)-Framework binder示例
  • 第八节 Android11.0 Binder通信原理(八)-Framework层分析
  • 第九节 Android11.0 Binder通信原理(九)-AIDL Binder示例
  • 第十节 Android11.0 Binder通信原理(十)-AIDL原理分析-Proxy-Stub设计模式
  • 第十一节 Android11.0 Binder通信原理(十一)-Binder总结

img

第四HwBinder通信原理

  • 第一节 HwBinder入门篇-Android10.0 HwBinder通信原理(一)
  • 第二节 HIDL详解-Android10.0 HwBinder通信原理(二)
  • 第三节 HIDL示例-C++服务创建Client验证-Android10.0 HwBinder通信原理(三)
  • 第四节 HIDL示例-JAVA服务创建-Client验证-Android10.0 HwBinder通信原理(四)
  • 第五节 HwServiceManager篇-Android10.0 HwBinder通信原理(五)
  • 第六节 Native层HIDL服务的注册原理-Android10.0 HwBinder通信原理(六)
  • 第七节 JAVA层HIDL服务的注册原理-Android10.0 HwBinder通信原理
  • 第八节 HwBinder驱动篇-Android10.0 HwBinder通信原理
  • 第九节 HwBinder原理总结-Android10.0 HwBinder通信原理

img

第五章 编译原理

  • 第一节 编译系统入门篇-Android10.0编译系统
  • 第二节 编译环境初始化-Android11.0编译系统
  • 第三节 make编译过程-Android11.0编译系统(三)
  • 第四节 Image打包流程-Android11.0编译系统(四)
  • 第五节 Kati详解-Android11.0编译系统
  • 第六节 Blueprint简介-Android11.0编译系统-
  • 第七节 Blueprint代码详细分析-Android11.0编译系统

img

《Android Framework 高频面试题总结》

目录

img

第一AMS、PMS

  • 第一节 AMS概述
  • 第二节 AMS的启动流程
  • 第三节 AMS与进程启动
  • 第四节 AMS家族
  • 第五节 PMS前言

img

第二Activity 启动流程,App 启动流程

  • 第一节 Activity的启动模式
  • 第二节 什么是Zygote进程
  • 第三节 Zygote进程的启动流程
  • 第四节 SystemServer进程启动流程
  • 第五节 启动服务

img

第三Binder 机制(IPC、AIDL 的使用)

  • 第一节 什么是AIDL以及如何使用(★★★★)
  • 第二节 AIDL的全称是什么?如何工作?能处理哪些类型的数据?(★★★)
  • 第三节 Android的IPC通信方式,线程(进程间)通信机制有哪些

第四为什么使用 Parcelable,好处是什么?

  • 第一节 实现机制

img

第五Android 图像显示相关流程,Vsync 信号等

img

由于文章内容比较多,篇幅有限,资料已经被整理成了PDF文档,有需要**腾讯技术团队出品《Android Framework开发揭秘》**完整文档的可点击文末卡片直接领取👇

相信这份资料,一定可以为大家在Framework的学习上提供强有力的帮助和支撑,快人一步成为真正的高级Android开发者。最后我想说,技术是无止境的,你需要对自己提交的每一行代码、使用的每一个工具负责,不断挖掘其底层原理,才能使自己的技术升华到更高的层面

Android 架构师之路还很漫长,与君共勉!!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
国内第一本基于Android 2.0的经典著作,5大专业社区联袂推荐,权威性毋庸置疑!    本书内容全面,不仅详细讲解了Android框架、Android组件、用户界面开发、游戏开发、数据存储、多媒体开发和网络开发等基础知识,而且还深入阐述了传感器、语音识别、桌面组件开发、Android游戏引擎设计、Android应用优化、OpenGL等高级知识,最重要的是还全面介绍了如何利用原生的C/C (NDK)和Python、Lua等脚本语言(Android Scripting Environment)来开发Android应用;本书实战性强,书中的每个知识点都有配精心设计的示例,尤为值得一提的是,它还以迭代的方式重现了各种常用的Android应用和经典Android游戏的开发全过程,既可以以它们为范例进行实战演练,又可以将它们直接应用到实际开发中去。 图书目录 前言   第一部分 准备篇   第1章 Android开发简介   第2章 Android开发环境搭建   第二部分 基础篇   第3章 Android程序设计基础   第4章 用户界面开发   第5章 Android游戏开发   第6章 Android数据存储   第7章 多媒体开发   第8章 网络与通信   第9章 Android特色开发   第三部分 实例篇   第10章 Android应用开发实例   第11章 Android游戏开发实例   第四部分 高级篇   第12章 AndroidOpenGL开发基础   第13章 AndroidOpenGL综合应用   第14章 游戏引擎实现   第15章 优化技术   第五部分 扩展篇   第16章 Android NDK开发   第17章 Android脚本环境
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值