前言
就业形势可以说是今年开春最热的话题了吧。其实往年就业都是热点,但是今年尤为严峻。
目前市场在变化,越来越多的Android应用开发向着系统层开发转型,这里所必不可缺少的技术栈就是Framework,那么就让我们看看Framework 。
一、Framework,是什么
Android的Framework是直接应用之下的一层,叫做应用程序框架层。这一层是核心应用程序所使用的API框架,为应用层提供各种API,提供各种组件和服务来支持我们的Android开发,包括ActivityManager,WindowManager,ViewSystem等。
下面贴一张学习Android时常见的Android系统架构图:
二、作为一个Android开发 , Framework 层对工作有什么帮助
其实不需要别的,你去 Github 上看一下 腾讯 Matrix 的源码,就知道 Framework 的知识有多重要了。像掉帧监控,函数插桩,慢函数检测,ANR 监控,启动监控,都需要对 Framework 有比较深入的了解,才能知道怎么去做监控,利用什么机制去监控,函数插桩插到哪里,反射调用该反射哪个类哪个方法哪个属性……另外 Framework 作为 Android 框架层,为 App 提供了众多 API 去调用 ,但是很多机制都是 Framework 包装好了给 App 来用的,如果不知道这些机制的原理,那么很难去在这基础上做优化。
而现在许多的高薪工作都需要熟悉Framework,而且不同于Android应用开发容易被替代,系统开发能让你有一份高薪稳定的工作。
后文
学不学framework还是看你个人规划;想进大厂,就下苦功夫,在大家都掌握基本开发技巧的情况下,这个就是加分项;如果只是以技术一种生存手段,不准备去大厂,没必要那么折腾啦,因为学了公司没没机会让你用.
Android Framework学习指南,全家桶学习详解(含 Framework 开发揭秘、内核解析及高频面试真题)
详细Vx关注公众号:Android老皮
《Android 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对输入法窗口(Input
● 第五节 Android窗口管理服务WindowManagerService对壁纸窗口(Wallpap
● 第六节Android窗口管理服务WindowManagerService计算窗口Z轴位置的过程分析
● 第七节Android窗口管理服务WindowManagerService显示Activity组件的启
● 第八节Android窗口管理服务WindowManagerService切换Activity窗口(A
● 第九节 Android窗口管理服务WindowManagerService显示窗口动画的原理分析
第六章PKMS Android10.0 源码解读
● 第一节 前言 PKMS是什么东西
● 第二节 PKMS概述信息
● 第三节 PKMS角色位置
● 第四节 PKMS启动过程分析
● 第五节 APK的扫描
● 第六节 PMS之权限扫描
● 第七节 PackageManagerService大综合笔记
《Android Framework 精编内核解析》
目录
第一章 深入解析Binder
● 第一节 Binder系列—开篇
● 第二节 Binder Driver初探
● 第三节 Binder Driver再探
● 第四节 Binder启动ServiceManager
● 第五节 获取ServiceManager
● 第六节 注册服务(addService)
● 第七节 获取服务(getService)
● 第八节 Framework层分析
● 第九节 如何使用Binder
● 第十节 如何使用AIDL
● 第十一节 Binder总结
● 第十二节 Binder面试题全解析
第二章 深入解析Handler消息机制
● 第一节 宏观理论分析与Message源码分析
● 第二节 MessageQueue的源码分析
● 第三节 Looper的源码分析
● 第四节 Handler的源码分析
● 第五节 Handler机制实现原理总结
● 第六节 Handler面试题全解析
第三章 Dalvik VM进程系统
● 第一节 Android系统启动-综述
● 第二节 Init篇
● 第三节 zygote篇
● 第四节 SystemServer上篇
● 第五节 SystemServer下篇
第四章 深入解析WMS
● 第一节 WMS概述
● 第二节 WMS的诞生
第五章 PackageMS启动
● 第一节 PackageMS相关框架类
● 第二节 PackageMS启动过程
第六章 AMS 面试专题
● 第一节 AMS
《Android 11.0最新 Framework 解析》
目录
第一章 系统启动
● 第一节 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安装流程
第二章 日志系统篇
● 第一节 Android11.0 日志系统分析-logd、logcat 指令说明、分类和属性
第三章 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总结
第四章 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通信原理
第五章 编译原理
● 第一节 编译系统入门篇-Android10.0编译系统
● 第二节 编译环境初始化-Android11.0编译系统
● 第三节 make编译过程-Android11.0编译系统(三)
● 第四节 Image打包流程-Android11.0编译系统(四)
● 第五节 Kati详解-Android11.0编译系统
● 第六节 Blueprint简介-Android11.0编译系统-
● 第七节 Blueprint代码详细分析-Android11.0编译系统
《Android Framework 高频面试题总结》
目录
第一章 AMS、PMS
● 第一节 AMS概述
● 第二节 AMS的启动流程
● 第三节 AMS与进程启动
● 第四节 AMS家族
● 第五节 PMS前言
第二章 Activity 启动流程,App 启动流程
● 第一节 Activity的启动模式
● 第二节 什么是Zygote进程
● 第三节 Zygote进程的启动流程
● 第四节 SystemServer进程启动流程
● 第五节 启动服务
第三章 Binder 机制(IPC、AIDL 的使用)
● 第一节 什么是AIDL以及如何使用(★★★★)
● 第二节 AIDL的全称是什么?如何工作?能处理哪些类型的数据?(★★★)
● 第三节 Android的IPC通信方式,线程(进程间)通信机制有哪些
第四章 为什么使用 Parcelable,好处是什么?
● 第一节 实现机制
第五章 Android 图像显示相关流程,Vsync 信号等
更多学习详解,加Vx免费领取~
详细Vx关注公众号:Android老皮