Skip to content

Commit f328f25

Browse files
authored
Update Framework知识点汇总.md
1 parent 5f7bf34 commit f328f25

File tree

1 file changed

+196
-0
lines changed

1 file changed

+196
-0
lines changed

Docs/Framework知识点汇总.md

Lines changed: 196 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,199 @@
1+
- [Handler](#handler)
2+
- [Handler机制实现原理(一)宏观理论分析与Message源码分析](#handler机制实现原理一宏观理论分析与message源码分析)
3+
- [Message:](#message)
4+
- [看一下全局变量:有好多存数据的对象。](#看一下全局变量有好多存数据的对象)
5+
- [Obtain方法:](#obtain方法)
6+
- [recycle():回收当前message到全局池](#recycle回收当前message到全局池)
7+
- [setData:](#setdata)
8+
- [发送消息的一些方法:](#发送消息的一些方法)
9+
- [构造方法:](#构造方法)
10+
- [writeToParcel:](#writetoparcel)
11+
- [Handler机制实现原理(二)MessageQueue的源码分析](#handler机制实现原理二messagequeue的源码分析)
12+
- [消息队列存储原理](#消息队列存储原理)
13+
- [使用JNI实现的native方法](#使用jni实现的native方法)
14+
- [创建与销毁](#创建与销毁)
15+
- [消息入队管理enqueueMessage()方法](#消息入队管理enqueuemessage方法)
16+
- [同步消息拦截器](#同步消息拦截器)
17+
- [队列空闲处理器IdleHandler](#队列空闲处理器idlehandler)
18+
- [消息出队管理next()方法](#消息出队管理next方法)
19+
- [总结](#总结)
20+
- [Handler机制实现原理(三)Looper的源码分析](#handler机制实现原理三looper的源码分析)
21+
- [创建与退出Looper](#创建与退出looper)
22+
- [运行Looper处理消息](#运行looper处理消息)
23+
- [总结](#总结-1)
24+
- [Handler机制实现原理(四)handler的源码分析](#handler机制实现原理四handler的源码分析)
25+
- [初始化](#初始化)
26+
- [发送消息](#发送消息)
27+
- [接收消息](#接收消息)
28+
- [内存泄漏的可能](#内存泄漏的可能)
29+
- [Handler机制实现原理(五)总结](#handler机制实现原理五总结)
30+
- [Message缓存池](#message缓存池)
31+
- [真正的阻塞发生在MessageQueue](#真正的阻塞发生在messagequeue)
32+
- [为什么推荐使用Handler实现线程间通信](#为什么推荐使用handler实现线程间通信)
33+
- [Binder](#binder)
34+
- [Binder原理(一)学习Binder前必须要了解的知识点](#binder原理一学习binder前必须要了解的知识点)
35+
- [Linux和Android的IPC机制种类](#linux和android的ipc机制种类)
36+
- [Linux中的IPC机制种类](#linux中的ipc机制种类)
37+
- [Android中的IPC机制](#android中的ipc机制)
38+
- [Linux和Binder的IPC通信原理](#linux和binder的ipc通信原理)
39+
- [Linux的IPC通信原理](#linux的ipc通信原理)
40+
- [Binder的通信原理](#binder的通信原理)
41+
- [为什么要使用Binder](#为什么要使用binder)
42+
- [为什么要学习Binder?](#为什么要学习binder)
43+
- [Binder原理(二)ServiceManager中的Binder机制](#binder原理二servicemanager中的binder机制)
44+
- [基于Binder通信的C/S架构](#基于binder通信的cs架构)
45+
- [MediaServer的main函数](#mediaserver的main函数)
46+
- [每个进程唯一的ProcessState](#每个进程唯一的processstate)
47+
- [ServiceManager中的Binder机制](#servicemanager中的binder机制)
48+
- [BpBinder和BBinder](#bpbinder和bbinder)
49+
- [解密IServiceManager](#解密iservicemanager)
50+
- [IServiceManager家族](#iservicemanager家族)
51+
- [小结](#小结)
52+
- [Binder原理(三)系统服务的注册过程](#binder原理三系统服务的注册过程)
53+
- [从调用链角度说明MediaPlayerService是如何注册的](#从调用链角度说明mediaplayerservice是如何注册的)
54+
- [writeTransactionData函数分析](#writetransactiondata函数分析)
55+
- [waitForResponse函数分析](#waitforresponse函数分析)
56+
- [小结](#小结-1)
57+
- [从进程角度说明MediaPlayerService是如何注册的](#从进程角度说明mediaplayerservice是如何注册的)
58+
- [总结](#总结-2)
59+
- [Binder原理(四)ServiceManager的启动过程](#binder原理四servicemanager的启动过程)
60+
- [ServiceManager的入口函数](#servicemanager的入口函数)
61+
- [打开binder设备](#打开binder设备)
62+
- [注册成为Binder机制的上下文管理者](#注册成为binder机制的上下文管理者)
63+
- [循环等待和处理client端发来的请求](#循环等待和处理client端发来的请求)
64+
- [总结](#总结-3)
65+
- [Binder原理(五)系统服务的获取过程](#binder原理五系统服务的获取过程)
66+
- [客户端MediaPlayerService请求获取服务](#客户端mediaplayerservice请求获取服务)
67+
- [服务端ServiceManager处理请求](#服务端servicemanager处理请求)
68+
- [总结](#总结-4)
69+
- [Binder原理(六)Java Binder的初始化](#binder原理六java-binder的初始化)
70+
- [Java Binder的JNI注册](#java-binder的jni注册)
71+
- [Binder类的注册](#binder类的注册)
72+
- [BinderInternal类的注册](#binderinternal类的注册)
73+
- [Binder原理(七)Java Binder中系统服务的注册过程](#binder原理七java-binder中系统服务的注册过程)
74+
- [将AMS注册到ServiceManager](#将ams注册到servicemanager)
75+
- [BinderInternal.getContextObject()](#binderinternalgetcontextobject)
76+
- [ServiceManagerNative.asInterface()](#servicemanagernativeasinterface)
77+
- [getIServiceManager().addService()](#getiservicemanageraddservice)
78+
- [引出JavaBBinder](#引出javabbinder)
79+
- [解析JavaBBinder](#解析javabbinder)
80+
- [Java Binder架构](#java-binder架构)
81+
- [Zygote](#zygote)
82+
- [Zygote(一):Android系统的启动过程及Zygote的启动过程](#zygote一android系统的启动过程及zygote的启动过程)
83+
- [init进程](#init进程)
84+
- [属性服务初始化与启动](#属性服务初始化与启动)
85+
- [设置进程信号处理](#设置进程信号处理)
86+
- [解析init配置文件](#解析init配置文件)
87+
- [Zygote进程启动](#zygote进程启动)
88+
- [SystemServer启动过程](#systemserver启动过程)
89+
- [Zygote(二):应用进程的启动过程](#zygote二应用进程的启动过程)
90+
- [Zygote监听客户端请求](#zygote监听客户端请求)
91+
- [AMS发送创建进程请求](#ams发送创建进程请求)
92+
- [Zygote接收信息并创建进程](#zygote接收信息并创建进程)
93+
- [启动Binder线程池](#启动binder线程池)
94+
- [AMS](#ams)
95+
- [AMS源码分析(一)Activity生命周期管理](#ams源码分析一activity生命周期管理)
96+
- [Activity的生命周期](#activity的生命周期)
97+
- [一个Activity从启动到销毁所经历的周期](#一个activity从启动到销毁所经历的周期)
98+
- [从一个Activity启动另一个Activity的生命周期](#从一个activity启动另一个activity的生命周期)
99+
- [源码分析](#源码分析)
100+
- [Binder](#binder-1)
101+
- [IdleHandler](#idlehandler)
102+
- [Activity在AMS中的标识](#activity在ams中的标识)
103+
- [启动过程时序图](#启动过程时序图)
104+
- [从AActivity跳转BActivity的生命周期分析](#从aactivity跳转bactivity的生命周期分析)
105+
- [AActivity#onPause](#aactivityonpause)
106+
- [BActivity#onCreate](#bactivityoncreate)
107+
- [BActivity#onStart](#bactivityonstart)
108+
- [BActivity#onResume](#bactivityonresume)
109+
- [AActivity#onStop](#aactivityonstop)
110+
- [从BActivity返回到AActivity](#从bactivity返回到aactivity)
111+
- [BActivity#onPause](#bactivityonpause)
112+
- [AActivity#onStart、AActivity#onResume](#aactivityonstartaactivityonresume)
113+
- [BActivity#onStop、BActivity#onDestroy](#bactivityonstopbactivityondestroy)
114+
- [AMS源码分析(二)onActivityResult执行过程](#ams源码分析二onactivityresult执行过程)
115+
- [onActivityResult](#onactivityresult)
116+
- [AActivity跳转BAcitivty并从BActivity返回数据](#aactivity跳转bacitivty并从bactivity返回数据)
117+
- [Intent.FLAG_ACTIVITY_FORWARD_RESULT](#intentflag_activity_forward_result)
118+
- [示例:](#示例)
119+
- [AActivity以startActivityForResult方式打开BActivity](#aactivity以startactivityforresult方式打开bactivity)
120+
- [BActivity以普通方式打开CActivity,设置Intent 的Flag Intent.FLAG_ACTIVITY_FORWARD_RESULT](#bactivity以普通方式打开cactivity设置intent-的flag-intentflag_activity_forward_result)
121+
- [源码解析](#源码解析)
122+
- [ActivityResult数据的写入](#activityresult数据的写入)
123+
- [ActivityResult数据的传递](#activityresult数据的传递)
124+
- [Intent.FLAG_ACTIVITY_FORWARD_RESULT的实现](#intentflag_activity_forward_result的实现)
125+
- [AMS源码分析(三)AMS中Activity栈管理详解](#ams源码分析三ams中activity栈管理详解)
126+
- [Activity栈管理相关类](#activity栈管理相关类)
127+
- [ActivityStackSupervisor](#activitystacksupervisor)
128+
- [ActivityDisplay](#activitydisplay)
129+
- [TaskRecord](#taskrecord)
130+
- [ActivityStack](#activitystack)
131+
- [关系图:](#关系图)
132+
- [启动模式](#启动模式)
133+
- [standard](#standard)
134+
- [Intent.FLAG_ACTIVITY_CLEAR_TOP](#intentflag_activity_clear_top)
135+
- [源码分析](#源码分析-1)
136+
- [加入TaskRecord](#加入taskrecord)
137+
- [standard + Intent.FLAG_ACTIVITY_CLEAR_TOP](#standard--intentflag_activity_clear_top)
138+
- [singleTop](#singletop)
139+
- [流程图:](#流程图)
140+
- [原Activity不在栈顶](#原activity不在栈顶)
141+
- [原Activity在栈顶](#原activity在栈顶)
142+
- [singleTop + Intent.FLAG_ACTIVITY_CLEAR_TOP](#singletop--intentflag_activity_clear_top)
143+
- [log](#log)
144+
- [原Activity不在栈顶](#原activity不在栈顶-1)
145+
- [原Activity在栈顶](#原activity在栈顶-1)
146+
- [原Actiivty在栈顶且设置Intent.FLAG_ACTIVITY_CLEAR_TOP](#原actiivty在栈顶且设置intentflag_activity_clear_top)
147+
- [源码分析](#源码分析-2)
148+
- [singleTop + Intent.FLAG_ACTIVITY_CLEAR_TOP](#singletop--intentflag_activity_clear_top-1)
149+
- [singleTask](#singletask)
150+
- [启动流程](#启动流程)
151+
- [场景一](#场景一)
152+
- [场景二](#场景二)
153+
- [场景三](#场景三)
154+
- [singeTask源码分析](#singetask源码分析)
155+
- [singleInstance](#singleinstance)
156+
- [Intent.FLAG_ACTIVITY_NEW_TASK、taskAffinity、新Task的创建](#intentflag_activity_new_tasktaskaffinity新task的创建)
157+
- [Intent.FLAG_ACTIVITY_NEW_TASK的自动设置](#intentflag_activity_new_task的自动设置)
158+
- [taskAffinity的识别](#taskaffinity的识别)
159+
- [是否创建新task的识别](#是否创建新task的识别)
160+
- [总结](#总结-5)
161+
- [PMS](#pms)
162+
- [深入PMS源码(一)—— PMS的启动过程和执行流程](#深入pms源码一-pms的启动过程和执行流程)
163+
- [PMS简介](#pms简介)
164+
- [PMS的启动过程](#pms的启动过程)
165+
- [PMS构造函数](#pms构造函数)
166+
- [PMS的工作过程](#pms的工作过程)
167+
- [解析配置文件package.xml](#解析配置文件packagexml)
168+
- [扫描安装的应用程序](#扫描安装的应用程序)
169+
- [将apk解析数据同步到PMS的属性中](#将apk解析数据同步到pms的属性中)
170+
- [更新配置文件](#更新配置文件)
171+
- [深入PMS源码(二)—— APK的安装和卸载源码分析](#深入pms源码二-apk的安装和卸载源码分析)
172+
- [应用程序安装基础](#应用程序安装基础)
173+
- [PMS中APK安装过程](#pms中apk安装过程)
174+
- [应用程序的卸载过程](#应用程序的卸载过程)
175+
- [深入PMS源码(三)—— PMS中intent-filter的匹配架构](#深入pms源码三-pms中intent-filter的匹配架构)
176+
- [PMS保存IntentFilter](#pms保存intentfilter)
177+
- [IntentFilter的查找匹配](#intentfilter的查找匹配)
178+
- [WMS](#wms)
179+
- [WMS(一):WMS的诞生](#wms一wms的诞生)
180+
- [WMS概述](#wms概述)
181+
- [窗口管理](#窗口管理)
182+
- [窗口动画](#窗口动画)
183+
- [输入系统的中转站](#输入系统的中转站)
184+
- [Surface管理](#surface管理)
185+
- [WMS的诞生](#wms的诞生)
186+
- [WMS(二):WMS的重要成员和Window的添加过程](#wms二wms的重要成员和window的添加过程)
187+
- [WMS的重要成员](#wms的重要成员)
188+
- [Window的添加过程(WMS部分)](#window的添加过程wms部分)
189+
- [addWindow方法part1](#addwindow方法part1)
190+
- [addWindow方法part2](#addwindow方法part2)
191+
- [addWindow方法part3](#addwindow方法part3)
192+
- [addWindow方法总结](#addwindow方法总结)
193+
- [结语](#结语)
194+
- [WMS(三):Window的删除过程](#wms三window的删除过程)
195+
- [Window的删除过程](#window的删除过程)# Handler
196+
1197
# Handler
2198

3199
## Handler机制实现原理(一)宏观理论分析与Message源码分析

0 commit comments

Comments
 (0)