# Android-Notes
**Repository Path**: Black--Zhang/Android-Notes
## Basic Information
- **Project Name**: Android-Notes
- **Description**: Android开发核心知识点笔记(不断更新中🔥)
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 6
- **Forks**: 4
- **Created**: 2021-12-29
- **Last Updated**: 2025-08-26
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
>要想成为一名优秀的Android开发,一份知识体系是必不可少的~
感谢大家的关注与支持,工作上比较忙,很难抽出时间来更新~
之前说11月更新的,一不小心拖更了这么久,这次主要是针对Framework部分和音视频部分。(另外,之前做整合的时候记得有标注过原作者,之前有好友反馈说没保存下来,又得一个一个加上去~~~
目录以及总的结构方面还需要再优化一下,然后N久以前就打算再整理一下面试题相关的内容……emm,一直没有大家别怪我~后面计划会给大家制作一份知识体系图……
时间跨度可能不会很短,但会尽自己能力去更新维护。再次感谢大家的关注与支持,同时也感谢向我提出修改建议的朋友们!
Emm……辛辛苦苦种树……确定不来个Star鼓励一下?
>部分内容收集整理于网络,在此也再次感谢所有内容产出者的贡献!
>> [**版权声明**](#版权声明)
>>>如果觉得看起来比较麻烦,需要PDF版本,或是需要更多学习资料、面试资料,进阶、架构资料,都可以加上[**VX或QQ群**](#contanct-me)领取。祝愿每一位有追求的Android开发同胞都能进大厂拿高薪!
# Android-Notes
Android开发核心知识点笔记-目录:
| **1** | **2** | **3** | **4** | **5** | **6** | **7** | **8** | **9** | **10** |
| :---------------------------: | :-----------------------------: | :-----------------------------------------: | :------------------------------------: | :---------------------------: | :------------------------------: | :---------------------------------------------------: | :----------------------------------: | :-------------------------: | :------------------------: |
| **Java** | **Android** | **Android
扩展** | **Frame
work** | **性能优化** | **开源库
源码分析** | **Gradle** | **设计模式** | **C++** | **音视频** |
| [:coffee:](#Java-知识点汇总) | [:iphone:](#Android-知识点汇总) | [:vibration_mode:](#Android-扩展知识点汇总) | [:file_folder:](#Framework-知识点汇总) | [:gear:](#性能优化知识点汇总) | [:mag:](#Android-开源库源码分析) | [:notebook_with_decorative_cover:](#Gradle知识点汇总) | [:hammer_and_wrench:](#设计模式汇总) | [:copyright:](#C知识点汇总) | [:vhs:](#音视频知识点汇总) |
| **A** | **B** | **C** | 持续更新中 | | | | | | |
| **计算机
网络基础** | **Kotlin** | **常见面试
算法题** | 持续更新中 | | | | | | |
| [:computer:](#计算机网络基础) | [:lollipop:](#Kotlin知识点汇总) | [:memo:](#常见面试算法题汇总) | 持续更新中 | | | | | | |
## Java 知识点汇总
* [JVM](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#jvm)
* [JVM 工作流程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#jvm-工作流程)
* [运行时数据区(Runtime Data Area)](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#运行时数据区runtime-data-area)
* [程序计数器](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#程序计数器)
* [Java 虚拟机栈](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#java-虚拟机栈)
* [本地方法栈](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#本地方法栈)
* [Java 堆](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#java-堆)
* [方法区](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#方法区)
* [方法指令](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#方法指令)
* [类加载器](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#类加载器)
* [垃圾回收 gc](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#垃圾回收-gc)
* [对象存活判断](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#对象存活判断)
* [垃圾收集算法](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#垃圾收集算法)
* [垃圾收集器](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#垃圾收集器)
* [内存模型与回收策略](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#内存模型与回收策略)
* [Object](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#object)
* [equals 方法](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#equals-方法)
* [hashCode 方法](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#hashcode-方法)
* [static](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#static)
* [final](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#final)
* [String、StringBuffer、StringBuilder](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#stringstringbufferstringbuilder)
* [异常处理](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#异常处理)
* [内部类](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#内部类)
* [匿名内部类](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#匿名内部类)
* [多态](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#多态)
* [抽象和接口](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#抽象和接口)
* [集合框架](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#集合框架)
* [HashMap](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#hashmap)
* [结构图](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#结构图)
* [HashMap 的工作原理](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#hashmap-的工作原理)
* [HashMap 与 HashTable 对比](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#hashmap-与-hashtable-对比)
* [ConcurrentHashMap](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#concurrenthashmap)
* [Base 1.7](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#base-17)
* [Base 1.8](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#base-18)
* [ArrayList](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#arraylist)
* [LinkedList](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#linkedlist)
* [CopyOnWriteArrayList](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#copyonwritearraylist)
* [反射](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#反射)
* [单例](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#单例)
* [饿汉式](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#饿汉式)
* [双重检查模式](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#双重检查模式)
* [静态内部类模式](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#静态内部类模式)
* [线程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#线程)
* [状态](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#状态)
* [状态控制](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#状态控制)
* [volatile](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#volatile)
* [synchronized](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#synchronized)
* [根据获取的锁分类](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#根据获取的锁分类)
* [原理](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#原理)
* [Lock](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#lock)
* [锁的分类](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#锁的分类)
* [悲观锁、乐观锁](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#悲观锁乐观锁)
* [自旋锁、适应性自旋锁](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#自旋锁适应性自旋锁)
* [死锁](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#死锁)
* [引用类型](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#引用类型)
* [动态代理](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#动态代理)
* [元注解](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Java知识点汇总.md#元注解)
## Android 知识点汇总
* [Activity](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#activity)
* [生命周期](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#生命周期)
* [启动模式](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#启动模式)
* [启动过程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#启动过程)
* [Fragment](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#fragment)
* [特点](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#特点)
* [生命周期](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#生命周期-1)
* [与Activity通信](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#与activity通信)
* [Service](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#service)
* [启动过程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#启动过程-1)
* [绑定过程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#绑定过程)
* [生命周期](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#生命周期-2)
* [启用前台服务](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#启用前台服务)
* [BroadcastReceiver](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#broadcastreceiver)
* [注册过程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#注册过程)
* [ContentProvider](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#contentprovider)
* [基本使用](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#基本使用)
* [数据存储](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#数据存储)
* [View](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#view)
* [MeasureSpec](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#measurespec)
* [MotionEvent](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#motionevent)
* [VelocityTracker](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#velocitytracker)
* [GestureDetector](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#gesturedetector)
* [Scroller](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#scroller)
* [View 的滑动](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#view-的滑动)
* [View 的事件分发](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#view-的事件分发)
* [在 Activity 中获取某个 View 的宽高](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#在-activity-中获取某个-view-的宽高)
* [Draw 的基本流程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#draw-的基本流程)
* [自定义 View](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#自定义-view)
* [进程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#进程)
* [进程生命周期](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#进程生命周期)
* [多进程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#多进程)
* [进程存活](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#进程存活)
* [OOM_ADJ](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#oom_adj)
* [进程被杀情况](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#进程被杀情况)
* [进程保活方案](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#进程保活方案)
* [Parcelable 接口](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#parcelable-接口)
* [使用示例](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#使用示例)
* [方法说明](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#方法说明)
* [Parcelable 与 Serializable 对比](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#parcelable-与-serializable-对比)
* [IPC](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#ipc)
* [IPC方式](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#ipc方式)
* [Binder](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#binder)
* [流程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#流程)
* [AIDL 通信](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#aidl-通信)
* [Messenger](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#messenger)
* [Window / WindowManager](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#window--windowmanager)
* [Window 概念与分类](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#window-概念与分类)
* [Window 的内部机制](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#window-的内部机制)
* [Window 的创建过程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#window-的创建过程)
* [Activity 的 Window 创建过程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#activity-的-window-创建过程)
* [Dialog 的 Window 创建过程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#dialog-的-window-创建过程)
* [Toast 的 Window 创建过程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#toast-的-window-创建过程)
* [Bitmap](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#bitmap)
* [配置信息与压缩方式](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#配置信息与压缩方式)
* [常用操作](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#常用操作)
* [裁剪、缩放、旋转、移动](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#裁剪缩放旋转移动)
* [保存与释放](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#保存与释放)
* [图片压缩](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#图片压缩)
* [BitmapFactory](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#bitmapfactory)
* [Bitmap创建流程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#bitmap创建流程)
* [Option类](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#option类)
* [基本使用](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#基本使用-1)
* [内存回收](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#内存回收)
* [屏幕适配](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#屏幕适配)
* [单位](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#单位)
* [头条适配方案](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#头条适配方案)
* [刘海屏适配](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#刘海屏适配)
* [Context](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#context)
* [SharedPreferences](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#sharedpreferences)
* [获取方式](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#获取方式)
* [getPreferences](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#getpreferences)
* [getDefaultSharedPreferences](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#getdefaultsharedpreferences)
* [getSharedPreferences](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#getsharedpreferences)
* [架构](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#架构)
* [apply / commit](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#apply--commit)
* [注意](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#注意)
* [消息机制](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#消息机制)
* [Handler 机制](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#handler-机制)
* [工作原理](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#工作原理)
* [ThreadLocal](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#threadlocal)
* [MessageQueue](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#messagequeue)
* [Looper](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#looper)
* [Handler](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#handler)
* [线程异步](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#线程异步)
* [AsyncTask](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#asynctask)
* [基本使用](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#基本使用-2)
* [工作原理](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#工作原理-1)
* [HandlerThread](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#handlerthread)
* [IntentService](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#intentservice)
* [线程池](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#线程池)
* [RecyclerView 优化](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#recyclerview-优化)
* [Webview](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#webview)
* [基本使用](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#基本使用-3)
* [WebView](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#webview-1)
* [WebSettings](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#websettings)
* [WebViewClient](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#webviewclient)
* [WebChromeClient](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#webchromeclient)
* [Webview 加载优化](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#webview-加载优化)
* [内存泄漏](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android知识点汇总.md#内存泄漏)
## Android 扩展知识点汇总
* [ART](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android扩展知识点.md#art)
* [ART 功能](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android扩展知识点.md#art-功能)
* [预先 (AOT) 编译](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android扩展知识点.md#预先-aot-编译)
* [垃圾回收优化](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android扩展知识点.md#垃圾回收优化)
* [开发和调试方面的优化](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android扩展知识点.md#开发和调试方面的优化)
* [ART GC](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android扩展知识点.md#art-gc)
* [Hook](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android扩展知识点.md#hook)
* [基本流程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android扩展知识点.md#基本流程)
* [使用示例](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android扩展知识点.md#使用示例)
* [Proguard](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android扩展知识点.md#proguard)
* [规则](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android扩展知识点.md#规则)
* [公共模板](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android扩展知识点.md#公共模板)
* [常用的自定义混淆规则](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android扩展知识点.md#常用的自定义混淆规则)
* [aar中增加独立的混淆配置](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android扩展知识点.md#aar中增加独立的混淆配置)
* [检查混淆和追踪异常](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android扩展知识点.md#检查混淆和追踪异常)
* [架构](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android扩展知识点.md#架构)
* [MVC](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android扩展知识点.md#mvc)
* [MVP](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android扩展知识点.md#mvp)
* [MVVM](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android扩展知识点.md#mvvm)
* [Jetpack](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android扩展知识点.md#jetpack)
* [架构](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android扩展知识点.md#架构-1)
* [使用示例](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android扩展知识点.md#使用示例-1)
* [NDK 开发](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android扩展知识点.md#ndk-开发)
* [JNI 基础](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android扩展知识点.md#jni-基础)
* [数据类型](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android扩展知识点.md#数据类型)
* [String 字符串函数操作](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android扩展知识点.md#string-字符串函数操作)
* [常用 JNI 访问 Java 对象方法](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android扩展知识点.md#常用-jni-访问-java-对象方法)
* [NDK 开发](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android扩展知识点.md#ndk-开发-1)
* [基础开发流程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android扩展知识点.md#基础开发流程)
* [System.loadLibrary()](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android扩展知识点.md#systemloadlibrary)
* [CMake 构建 NDK 项目](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android扩展知识点.md#cmake-构建-ndk-项目)
* [常用的 Android NDK 原生 API](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android扩展知识点.md#常用的-android-ndk-原生-api)
* [类加载器](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android扩展知识点.md#类加载器)
* [双亲委托模式](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android扩展知识点.md#双亲委托模式)
* [DexPathList](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android扩展知识点.md#dexpathlist)
## Framework 知识点汇总
* [Handler](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#handler)
* [Handler机制实现原理(一)宏观理论分析与Message源码分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#handler机制实现原理一宏观理论分析与message源码分析)
* [Message:](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#message)
* [看一下全局变量:有好多存数据的对象。](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#看一下全局变量有好多存数据的对象)
* [Obtain方法:](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#obtain方法)
* [recycle():回收当前message到全局池](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#recycle回收当前message到全局池)
* [setData:](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#setdata)
* [发送消息的一些方法:](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#发送消息的一些方法)
* [构造方法:](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#构造方法)
* [writeToParcel:](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#writetoparcel)
* [Handler机制实现原理(二)MessageQueue的源码分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#handler机制实现原理二messagequeue的源码分析)
* [消息队列存储原理](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#消息队列存储原理)
* [使用JNI实现的native方法](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#使用jni实现的native方法)
* [创建与销毁](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#创建与销毁)
* [消息入队管理enqueueMessage()方法](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#消息入队管理enqueuemessage方法)
* [同步消息拦截器](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#同步消息拦截器)
* [队列空闲处理器IdleHandler](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#队列空闲处理器idlehandler)
* [消息出队管理next()方法](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#消息出队管理next方法)
* [总结](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#总结)
* [Handler机制实现原理(三)Looper的源码分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#handler机制实现原理三looper的源码分析)
* [创建与退出Looper](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#创建与退出looper)
* [运行Looper处理消息](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#运行looper处理消息)
* [总结](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#总结-1)
* [Handler机制实现原理(四)handler的源码分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#handler机制实现原理四handler的源码分析)
* [初始化](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#初始化)
* [发送消息](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#发送消息)
* [接收消息](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#接收消息)
* [内存泄漏的可能](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#内存泄漏的可能)
* [Handler机制实现原理(五)总结](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#handler机制实现原理五总结)
* [Message缓存池](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#message缓存池)
* [真正的阻塞发生在MessageQueue](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#真正的阻塞发生在messagequeue)
* [为什么推荐使用Handler实现线程间通信](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#为什么推荐使用handler实现线程间通信)
* [Binder](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#binder)
* [Binder原理(一)学习Binder前必须要了解的知识点](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#binder原理一学习binder前必须要了解的知识点)
* [Linux和Android的IPC机制种类](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#linux和android的ipc机制种类)
* [Linux中的IPC机制种类](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#linux中的ipc机制种类)
* [Android中的IPC机制](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#android中的ipc机制)
* [Linux和Binder的IPC通信原理](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#linux和binder的ipc通信原理)
* [Linux的IPC通信原理](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#linux的ipc通信原理)
* [Binder的通信原理](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#binder的通信原理)
* [为什么要使用Binder](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#为什么要使用binder)
* [为什么要学习Binder?](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#为什么要学习binder)
* [Binder原理(二)ServiceManager中的Binder机制](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#binder原理二servicemanager中的binder机制)
* [基于Binder通信的C/S架构](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#基于binder通信的cs架构)
* [MediaServer的main函数](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#mediaserver的main函数)
* [每个进程唯一的ProcessState](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#每个进程唯一的processstate)
* [ServiceManager中的Binder机制](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#servicemanager中的binder机制)
* [BpBinder和BBinder](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#bpbinder和bbinder)
* [解密IServiceManager](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#解密iservicemanager)
* [IServiceManager家族](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#iservicemanager家族)
* [小结](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#小结)
* [Binder原理(三)系统服务的注册过程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#binder原理三系统服务的注册过程)
* [从调用链角度说明MediaPlayerService是如何注册的](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#从调用链角度说明mediaplayerservice是如何注册的)
* [writeTransactionData函数分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#writetransactiondata函数分析)
* [waitForResponse函数分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#waitforresponse函数分析)
* [小结](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#小结-1)
* [从进程角度说明MediaPlayerService是如何注册的](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#从进程角度说明mediaplayerservice是如何注册的)
* [总结](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#总结-2)
* [Binder原理(四)ServiceManager的启动过程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#binder原理四servicemanager的启动过程)
* [ServiceManager的入口函数](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#servicemanager的入口函数)
* [打开binder设备](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#打开binder设备)
* [注册成为Binder机制的上下文管理者](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#注册成为binder机制的上下文管理者)
* [循环等待和处理client端发来的请求](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#循环等待和处理client端发来的请求)
* [总结](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#总结-3)
* [Binder原理(五)系统服务的获取过程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#binder原理五系统服务的获取过程)
* [客户端MediaPlayerService请求获取服务](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#客户端mediaplayerservice请求获取服务)
* [服务端ServiceManager处理请求](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#服务端servicemanager处理请求)
* [总结](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#总结-4)
* [Binder原理(六)Java Binder的初始化](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#binder原理六java-binder的初始化)
* [Java Binder的JNI注册](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#java-binder的jni注册)
* [Binder类的注册](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#binder类的注册)
* [BinderInternal类的注册](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#binderinternal类的注册)
* [Binder原理(七)Java Binder中系统服务的注册过程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#binder原理七java-binder中系统服务的注册过程)
* [将AMS注册到ServiceManager](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#将ams注册到servicemanager)
* [BinderInternal.getContextObject()](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#binderinternalgetcontextobject)
* [ServiceManagerNative.asInterface()](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#servicemanagernativeasinterface)
* [getIServiceManager().addService()](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#getiservicemanageraddservice)
* [引出JavaBBinder](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#引出javabbinder)
* [解析JavaBBinder](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#解析javabbinder)
* [Java Binder架构](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#java-binder架构)
* [Zygote](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#zygote)
* [Zygote(一):Android系统的启动过程及Zygote的启动过程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#zygote一android系统的启动过程及zygote的启动过程)
* [init进程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#init进程)
* [属性服务初始化与启动](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#属性服务初始化与启动)
* [设置进程信号处理](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#设置进程信号处理)
* [解析init配置文件](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#解析init配置文件)
* [Zygote进程启动](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#zygote进程启动)
* [SystemServer启动过程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#systemserver启动过程)
* [Zygote(二):应用进程的启动过程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#zygote二应用进程的启动过程)
* [Zygote监听客户端请求](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#zygote监听客户端请求)
* [AMS发送创建进程请求](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#ams发送创建进程请求)
* [Zygote接收信息并创建进程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#zygote接收信息并创建进程)
* [启动Binder线程池](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#启动binder线程池)
* [AMS](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#ams)
* [AMS源码分析(一)Activity生命周期管理](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#ams源码分析一activity生命周期管理)
* [Activity的生命周期](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#activity的生命周期)
* [一个Activity从启动到销毁所经历的周期](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#一个activity从启动到销毁所经历的周期)
* [从一个Activity启动另一个Activity的生命周期](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#从一个activity启动另一个activity的生命周期)
* [源码分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#源码分析)
* [Binder](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#binder-1)
* [IdleHandler](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#idlehandler)
* [Activity在AMS中的标识](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#activity在ams中的标识)
* [启动过程时序图](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#启动过程时序图)
* [从AActivity跳转BActivity的生命周期分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#从aactivity跳转bactivity的生命周期分析)
* [AActivity#onPause](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#aactivityonpause)
* [BActivity#onCreate](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#bactivityoncreate)
* [BActivity#onStart](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#bactivityonstart)
* [BActivity#onResume](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#bactivityonresume)
* [AActivity#onStop](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#aactivityonstop)
* [从BActivity返回到AActivity](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#从bactivity返回到aactivity)
* [BActivity#onPause](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#bactivityonpause)
* [AActivity#onStart、AActivity#onResume](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#aactivityonstartaactivityonresume)
* [BActivity#onStop、BActivity#onDestroy](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#bactivityonstopbactivityondestroy)
* [AMS源码分析(二)onActivityResult执行过程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#ams源码分析二onactivityresult执行过程)
* [onActivityResult](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#onactivityresult)
* [AActivity跳转BAcitivty并从BActivity返回数据](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#aactivity跳转bacitivty并从bactivity返回数据)
* [Intent.FLAG_ACTIVITY_FORWARD_RESULT](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#intentflag_activity_forward_result)
* [示例:](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#示例)
* [AActivity以startActivityForResult方式打开BActivity](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#aactivity以startactivityforresult方式打开bactivity)
* [BActivity以普通方式打开CActivity,设置Intent 的Flag Intent.FLAG_ACTIVITY_FORWARD_RESULT](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#bactivity以普通方式打开cactivity设置intent-的flag-intentflag_activity_forward_result)
* [源码解析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#源码解析)
* [ActivityResult数据的写入](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#activityresult数据的写入)
* [ActivityResult数据的传递](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#activityresult数据的传递)
* [Intent.FLAG_ACTIVITY_FORWARD_RESULT的实现](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#intentflag_activity_forward_result的实现)
* [AMS源码分析(三)AMS中Activity栈管理详解](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#ams源码分析三ams中activity栈管理详解)
* [Activity栈管理相关类](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#activity栈管理相关类)
* [ActivityStackSupervisor](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#activitystacksupervisor)
* [ActivityDisplay](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#activitydisplay)
* [TaskRecord](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#taskrecord)
* [ActivityStack](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#activitystack)
* [关系图:](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#关系图)
* [启动模式](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#启动模式)
* [standard](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#standard)
* [Intent.FLAG_ACTIVITY_CLEAR_TOP](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#intentflag_activity_clear_top)
* [源码分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#源码分析-1)
* [加入TaskRecord](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#加入taskrecord)
* [standard + Intent.FLAG_ACTIVITY_CLEAR_TOP](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#standard--intentflag_activity_clear_top)
* [singleTop](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#singletop)
* [流程图:](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#流程图)
* [原Activity不在栈顶](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#原activity不在栈顶)
* [原Activity在栈顶](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#原activity在栈顶)
* [singleTop + Intent.FLAG_ACTIVITY_CLEAR_TOP](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#singletop--intentflag_activity_clear_top)
* [log](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#log)
* [原Activity不在栈顶](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#原activity不在栈顶-1)
* [原Activity在栈顶](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#原activity在栈顶-1)
* [原Actiivty在栈顶且设置Intent.FLAG_ACTIVITY_CLEAR_TOP](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#原actiivty在栈顶且设置intentflag_activity_clear_top)
* [源码分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#源码分析-2)
* [singleTop + Intent.FLAG_ACTIVITY_CLEAR_TOP](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#singletop--intentflag_activity_clear_top-1)
* [singleTask](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#singletask)
* [启动流程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#启动流程)
* [场景一](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#场景一)
* [场景二](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#场景二)
* [场景三](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#场景三)
* [singeTask源码分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#singetask源码分析)
* [singleInstance](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#singleinstance)
* [Intent.FLAG_ACTIVITY_NEW_TASK、taskAffinity、新Task的创建](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#intentflag_activity_new_tasktaskaffinity新task的创建)
* [Intent.FLAG_ACTIVITY_NEW_TASK的自动设置](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#intentflag_activity_new_task的自动设置)
* [taskAffinity的识别](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#taskaffinity的识别)
* [是否创建新task的识别](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#是否创建新task的识别)
* [总结](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#总结-5)
* [PMS](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#pms)
* [深入PMS源码(一)—— PMS的启动过程和执行流程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#深入pms源码一-pms的启动过程和执行流程)
* [PMS简介](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#pms简介)
* [PMS的启动过程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#pms的启动过程)
* [PMS构造函数](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#pms构造函数)
* [PMS的工作过程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#pms的工作过程)
* [解析配置文件package.xml](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#解析配置文件packagexml)
* [扫描安装的应用程序](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#扫描安装的应用程序)
* [将apk解析数据同步到PMS的属性中](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#将apk解析数据同步到pms的属性中)
* [更新配置文件](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#更新配置文件)
* [深入PMS源码(二)—— APK的安装和卸载源码分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#深入pms源码二-apk的安装和卸载源码分析)
* [应用程序安装基础](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#应用程序安装基础)
* [PMS中APK安装过程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#pms中apk安装过程)
* [应用程序的卸载过程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#应用程序的卸载过程)
* [深入PMS源码(三)—— PMS中intent-filter的匹配架构](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#深入pms源码三-pms中intent-filter的匹配架构)
* [PMS保存IntentFilter](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#pms保存intentfilter)
* [IntentFilter的查找匹配](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#intentfilter的查找匹配)
* [WMS](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#wms)
* [WMS(一):WMS的诞生](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#wms一wms的诞生)
* [WMS概述](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#wms概述)
* [窗口管理](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#窗口管理)
* [窗口动画](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#窗口动画)
* [输入系统的中转站](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#输入系统的中转站)
* [Surface管理](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#surface管理)
* [WMS的诞生](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#wms的诞生)
* [WMS(二):WMS的重要成员和Window的添加过程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#wms二wms的重要成员和window的添加过程)
* [WMS的重要成员](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#wms的重要成员)
* [Window的添加过程(WMS部分)](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#window的添加过程wms部分)
* [addWindow方法part1](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#addwindow方法part1)
* [addWindow方法part2](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#addwindow方法part2)
* [addWindow方法part3](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#addwindow方法part3)
* [addWindow方法总结](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#addwindow方法总结)
* [结语](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#结语)
* [WMS(三):Window的删除过程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#wms三window的删除过程)
* [Window的删除过程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Framework知识点汇总.md#window的删除过程)
## 性能优化知识点汇总
* [启动优化](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#启动优化)
* [视觉优化](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#视觉优化)
* [启动主题优化](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#启动主题优化)
* [代码优化](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#代码优化)
* [冷启动耗时统计](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#冷启动耗时统计)
* [Application 优化](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#Application-优化)
* [闪屏页业务优化](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#闪屏页业务优化)
* [广告页优化](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#广告页优化)
* [优化效果](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#优化效果)
* [启动窗口](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#启动窗口)
* [UI渲染优化](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#UI渲染优化)
* [CPU、GPU的职责](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#CPUGPU的职责)
* [查找Overdraw](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#查找Overdraw)
* [clipRect解决自定义View的OverDraw](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#clipRect解决自定义View的OverDraw)
* [Hierarchy Viewer的使用](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#Hierarchy-Viewer的使用)
* [内存抖动现象](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#内存抖动现象)
* [崩溃优化](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#崩溃优化)
* [崩溃](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#崩溃)
* [崩溃的收集](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#崩溃的收集)
* [ANR](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#ANR)
* [应用退出](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#应用退出)
* [崩溃处理](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#崩溃处理)
* [崩溃现场](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#崩溃现场)
* [崩溃分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#崩溃分析)
* [系统崩溃](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#系统崩溃)
* [内存优化](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#内存优化)
* [优化工具](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#优化工具)
* [Memory Profiler](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#Memory-Profiler)
* [Memory Analyzer(MAT)](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#Memory-AnalyzerMAT)
* [LeakCannary](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#LeakCannary)
* [内存管理](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#内存管理)
* [内存区域](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#内存区域)
* [对象存活判断](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#对象存活判断)
* [垃圾回收算法](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#垃圾回收算法)
* [内存抖动](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#内存抖动)
* [模拟内存抖动](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#模拟内存抖动)
* [分析并定位](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#分析并定位)
* [内存泄露](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#内存泄露)
* [模拟内存泄露](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#模拟内存泄露)
* [分析并定位](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#分析并定位-1)
* [MAT分析工具](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#MAT分析工具)
* [Overview](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#Overview)
* [Histogram](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#Histogram)
* [Dominator_tree](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#Dominator_tree)
* [SQL](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#SQL)
* [Thread_overview](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#Thread_overview)
* [Top Consumers](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#Top-Consumers)
* [Leak Suspects](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#Leak-Suspects)
* [通过ARTHook检测不合理图片](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#通过ARTHook检测不合理图片)
* [获取Bitmap占用内存](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#获取Bitmap占用内存)
* [检测大图](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#检测大图)
* [线上内存监控](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#线上内存监控)
* [常规方案](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#常规方案)
* [LeakCannary定制改造](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#LeakCannary定制改造)
* [完整方案](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#完整方案)
* [卡顿优化](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#卡顿优化)
* [卡顿](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#卡顿)
* [帧率](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#帧率)
* [卡顿原因](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#卡顿原因)
* [卡顿检测](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#卡顿检测)
* [使用dumpsys gfxinfo](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#使用dumpsys-gfxinfo)
* [使用systrace](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#使用systrace)
* [使用BlockCanary](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#使用BlockCanary)
* [使用Choreographer](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#使用Choreographer)
* [优化](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#优化)
* [存储优化](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#存储优化)
* [交换数据格式](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#交换数据格式)
* [SharePreferences 优化](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#SharePreferences-优化)
* [Bitmap 解码](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.mdBitmap-解码)
* [数据库优化](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#数据库优化)
* [事务](#事务)
* [SQLiteStatement](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#SQLiteStatement)
* [索引](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#索引)
* [其它通用优化](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#其它通用优化)
* [网络优化](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#网络优化)
* [网络连接对用户的影响](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#网络连接对用户的影响)
* [分析网络连接的工具](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#分析网络连接的工具)
* [Network Monitor](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#Network-Monitor)
* [网络代理工具](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#网络代理工具)
* [从哪些方面优化网络连接](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#从哪些方面优化网络连接)
* [接口设计](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#接口设计)
* [网络缓存](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#网络缓存)
* [弱网测试&优化](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#弱网测试&优化)
* [耗电优化](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#耗电优化)
* [耗电监控](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#耗电监控)
* [Android Vitals](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#Android-Vitals)
* [耗电监控都监控什么](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#耗电监控都监控什么)
* [如何监控耗电](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#如何监控耗电)
* [Java Hook](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#Java-Hook)
* [插桩](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#插桩)
* [多线程并发优化](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#多线程并发优化)
* [Thread 使用](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#Thread-使用)
* [Thread 中断](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#Thread-中断)
* [同步](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#同步)
* [Android Threading](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#Android-Threading)
* [AsyncTask](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#AsyncTask)
* [HandlerThread](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#HandlerThread)
* [IntentService](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#IntentService)
* [Loader](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#Loader)
* [ThreadPool](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#ThreadPool)
* [线程优先级](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#线程优先级)
* [安装包优化](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#安装包优化)
* [常用的优化方式](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#常用的优化方式)
* [清理无用资源](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#清理无用资源)
* [图片资源优化](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#图片资源优化)
* [资源动态加载](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#资源动态加载)
* [lib库优化](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#lib库优化)
* [7zip压缩资源](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#7zip压缩资源)
* [代码混淆](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#代码混淆)
* [资源(res)混淆](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#资源res混淆)
* [使用微信AndResGuard](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#使用微信AndResGuard)
* [Facebook的redex优化字节码](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/性能优化知识点汇总.md#Facebook的redex优化字节码)
## Android 开源库源码分析
* [OKHttp](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#OKHttp)
* [OKHttp请求流程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#OKHttp请求流程)
* [新建OKHttpClient客户端](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#新建OKHttpClient客户端)
* [同步请求流程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#同步请求流程)
* [异步请求流程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#异步请求流程)
* [网络请求缓存处理](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#网络请求缓存处理之CacheInterceptor)
* [连接池](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#ConnectInterceptor之连接池)
* [Retrofit](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#Retrofit)
* [基本使用流程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#基本使用流程)
* [Retrofit构建过程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#Retrofit构建过程)
* [Retrofit核心对象解析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#Retrofit核心对象解析)
* [Builder内部构造](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#Builder内部构造)
* [添加baseUrl](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#添加baseUrl)
* [添加GsonConverterFactory](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#添加GsonConverterFactory)
* [build过程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#build过程)
* [创建网络请求接口实例过程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#创建网络请求接口实例过程)
* [创建网络请求接口类实例并执行请求过程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#创建网络请求接口类实例并执行请求过程)
* [Retrofit源码流程图](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#Retrofit源码流程图)
* [Glide](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#Glide)
* [基本使用流程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#基本使用流程-1)
* [GlideApp.with(context)源码详解](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#GlideAppwithcontext源码详解)
* [load(url)源码详解](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#loadurl源码详解)
* [into(iv)源码详解](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#intoiv源码详解)
* [完整Glide加载流程图](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#完整Glide加载流程图)
* [GreenDao](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#GreenDao)
* [基本使用流程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#基本使用流程-2)
* [GreenDao使用流程分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#GreenDao使用流程分析)
* [创建数据库帮助类对象DaoMaster.DevOpenHelper](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#创建数据库帮助类对象DaoMasterDevOpenHelper)
* [创建DaoMaster对象](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#创建DaoMaster对象)
* [创建DaoSession对象](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#创建DaoSession对象)
* [插入源码分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#插入源码分析)
* [查询源码分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#查询源码分析)
* [GreenDao是如何与ReactiveX结合?](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#GreenDao是如何与ReactiveX结合)
* [RxJava](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#RxJava)
* [RxJava是什么?](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#RxJava到底是什么)
* [RxJava的订阅流程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#RxJava的订阅流程)
* [创建被观察者过程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#创建被观察者过程)
* [订阅过程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#订阅过程)
* [RxJava的线程切换](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#RxJava的线程切换)
* [LeakCanary](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#LeakCanary)
* [原理概述](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#原理概述)
* [简单示例](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#简单示例)
* [源码分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#源码分析)
* [LeakCanary运作流程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#LeakCanary运作流程)
* [ButterKnife](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#ButterKnife)
* [简单示例](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#简单示例-1)
* [源码分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#源码分析-1)
* [模板代码解析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#模板代码解析)
* [ButterKnife 是怎样实现代码注入的](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#ButterKnife-是怎样实现代码注入的)
* [ButterKnife是如何在编译时生成代码的?](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#ButterKnife是如何在编译时生成代码的)
* [Dagger 2](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#Dagger-2)
* [预备知识](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#预备知识)
* [@Inject](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#@Inject)
* [@Module](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#@Module)
* [@Singleton](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#@Singleton)
* [@Providers](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#@Providers)
* [@Component](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#@Component)
* [@Scope](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#@Scope)
* [@Qualifier](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#@Qualifier)
* [dependencies](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#dependencies)
* [@SubComponent](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#@SubComponent)
* [简单示例](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#简单示例-2)
* [源码分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#源码分析-2)
* [EventBus](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#EventBus)
* [简单示例](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#简单示例-3)
* [源码分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Android开源库源码分析.md#源码分析-3)
## 音视频知识点汇总
* [Android音视频开发初级入门篇](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#android音视频开发初级入门篇)
* [Android 音视频开发(一) : 通过三种方式绘制图片](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#android-音视频开发一--通过三种方式绘制图片)
* [ImageView 绘制图片](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#imageview-绘制图片)
* [SurfaceView 绘制图片](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#surfaceview-绘制图片)
* [自定义 View 绘制图片](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#自定义-view-绘制图片)
* [Android 音视频开发(二):使用 AudioRecord 采集音频PCM并保存到文件](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#android-音视频开发二使用-audiorecord-采集音频pcm并保存到文件)
* [AudioRecord API详解](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#audiorecord-api详解)
* [使用 AudioRecord 实现录音,并生成wav](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#使用-audiorecord-实现录音并生成wav)
* [创建一个AudioRecord对象](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#创建一个audiorecord对象)
* [初始化一个buffer](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#初始化一个buffer)
* [开始录音](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#开始录音)
* [创建一个数据流,一边从AudioRecord中读取声音数据到初始化的buffer,一边将buffer中数据导入数据流。](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#创建一个数据流一边从audiorecord中读取声音数据到初始化的buffer一边将buffer中数据导入数据流)
* [关闭数据流](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#关闭数据流)
* [停止录音](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#停止录音)
* [附言](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#附言)
* [源码](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#源码)
* [Android 音视频开发(三):使用 AudioTrack 播放PCM音频](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#android-音视频开发三使用-audiotrack-播放pcm音频)
* [AudioTrack 基本使用](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#audiotrack-基本使用)
* [MODE_STATIC模式](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#mode_static模式)
* [MODE_STREAM模式](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#mode_stream模式)
* [AudioTrack 详解](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#audiotrack-详解)
* [音频流的类型](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#音频流的类型)
* [Buffer分配和Frame的概念](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#buffer分配和frame的概念)
* [AudioTrack构造过程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#audiotrack构造过程)
* [AudioTrack 与 MediaPlayer 的对比](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#audiotrack-与-mediaplayer-的对比)
* [区别](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#区别)
* [联系](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#联系)
* [SoundPool](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#soundpool)
* [源码](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#源码-1)
* [Android 音视频开发(四):使用 Camera API 采集视频数据](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#android-音视频开发四使用-camera-api-采集视频数据)
* [预览 Camera 数据](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#预览-camera-数据)
* [取到 NV21 的数据回调](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#取到-nv21-的数据回调)
* [Android 音视频开发(五):使用 MediaExtractor 和 MediaMuxer API 解析和封装 mp4 文件](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#android-音视频开发五使用-mediaextractor-和-mediamuxer-api-解析和封装-mp4-文件)
* [MediaExtractor API介绍](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#mediaextractor-api介绍)
* [MediaMuxer API介绍](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#mediamuxer-api介绍)
* [使用情境](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#使用情境)
* [从MP4文件中提取视频并生成新的视频文件](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#从mp4文件中提取视频并生成新的视频文件)
* [Android 音视频开发(六): MediaCodec API 详解](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#android-音视频开发六-mediacodec-api-详解)
* [MediaCodec 介绍](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#mediacodec-介绍)
* [MediaCodec API 说明](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#mediacodec-api-说明)
* [MediaCodec 流控](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#mediacodec-流控)
* [流控基本概念](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#流控基本概念)
* [Android 硬编码流控](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#android-硬编码流控)
* [Android 流控策略选择](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#android-流控策略选择)
* [Android 音视频开发(七): 音视频录制流程总结](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#android-音视频开发七-音视频录制流程总结)
* [流程分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#流程分析)
* [需求说明](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#需求说明)
* [实现方式](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#实现方式)
* [数据处理思路](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#数据处理思路)
* [实现过程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#实现过程)
* [收集Camera数据,并转码为H264存储到文件](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#收集camera数据并转码为h264存储到文件)
* [音视频采集+混合,存储到文件](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#音视频采集混合存储到文件)
* [Android音视频开发中级进阶篇](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#android音视频开发中级进阶篇)
* [OpenGL ES](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#opengl-es)
* [Android OpenGL ES 开发(一): OpenGL ES 介绍](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#android-opengl-es-开发一-opengl-es-介绍)
* [简介OpenGL ES](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#简介opengl-es)
* [基本介绍](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#基本介绍)
* [GLSurfaceView](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#glsurfaceview)
* [GLSurfaceView.Renderer](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#glsurfaceviewrenderer)
* [Android OpenGL ES开发(二) : OpenGL ES 环境搭建](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#android-opengl-es开发二--opengl-es-环境搭建)
* [环境搭建目的](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#环境搭建目的)
* [在Manifest中声明OpenGL ES使用](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#在manifest中声明opengl-es使用)
* [创建一个Activity 用于展示OpenGL ES 图形](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#创建一个activity-用于展示opengl-es-图形)
* [创建GLSurfaceView对象](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#创建glsurfaceview对象)
* [创建一个Renderer类](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#创建一个renderer类)
* [总结](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#总结)
* [Android OpenGL ES 开发(三):OpenGL ES定义形状](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#android-opengl-es-开发三opengl-es定义形状)
* [定义三角形](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#定义三角形)
* [定义正方形](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#定义正方形)
* [Android OpenGL ES开发(四) : OpenGL ES绘制形状](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#android-opengl-es开发四--opengl-es绘制形状)
* [初始化形状](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#初始化形状)
* [绘制形状](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#绘制形状)
* [Android OpenGL ES开发(五) : OpenGL ES使用投影和相机视图](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#android-opengl-es开发五--opengl-es使用投影和相机视图)
* [定义投影](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#定义投影)
* [定义相机视图](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#定义相机视图)
* [应用投影和相机变换](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#应用投影和相机变换)
* [Android openGL ES开发(六): OpenGL ES添加运动效果](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#android-opengl-es开发六-opengl-es添加运动效果)
* [旋转一个图形](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#旋转一个图形)
* [允许连续渲染](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#允许连续渲染)
* [Android openGL ES开发(七) : OpenGL ES 响应触摸事件](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#android-opengl-es开发七--opengl-es-响应触摸事件)
* [设置触摸事件](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#设置触摸事件)
* [暴露旋转角度](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#暴露旋转角度)
* [应用旋转](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#应用旋转)
* [Android OpenGL ES开发(八) :OpenGL ES 着色器语言GLSL](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#android-opengl-es开发八-opengl-es-着色器语言glsl)
* [GLSL 简介](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#glsl-简介)
* [GLSL 基础](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#glsl-基础)
* [基本数据类型](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#基本数据类型)
* [标量:](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#标量)
* [向量:](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#向量)
* [矩阵:](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#矩阵)
* [采样器:](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#采样器)
* [结构体:](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#结构体)
* [数组:](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#数组)
* [空类型:](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#空类型)
* [运算符](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#运算符)
* [类型转换](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#类型转换)
* [限定符](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#限定符)
* [流程控制](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#流程控制)
* [函数](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#函数)
* [浮点精度](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#浮点精度)
* [程序结构](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#程序结构)
* [GLSL 内建变量](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#glsl-内建变量)
* [顶点着色器的内建变量](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#顶点着色器的内建变量)
* [片元着色器的内建变量](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#片元着色器的内建变量)
* [常用内置函数](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#常用内置函数)
* [常见函数](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#常见函数)
* [几何函数](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#几何函数)
* [矩阵函数](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#矩阵函数)
* [纹理采样函数](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#纹理采样函数)
* [Android OpenGL ES开发(九): OpenGL ES纹理贴图](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#android-opengl-es开发九-opengl-es纹理贴图)
* [概念](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#概念)
* [原理](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#原理)
* [显示纹理图片](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#显示纹理图片)
* [修改着色器](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#修改着色器)
* [设置顶点坐标和纹理坐标](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#设置顶点坐标和纹理坐标)
* [计算变换矩阵](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#计算变换矩阵)
* [显示图片](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#显示图片)
* [Android OpenGL ES 开发(十):通过GLES20与着色器交互](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#android-opengl-es-开发十通过gles20与着色器交互)
* [获取着色器程序内成员变量的id(句柄、指针)](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#获取着色器程序内成员变量的id句柄指针)
* [向着色器传递数据](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#向着色器传递数据)
* [定义顶点属性数组](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#定义顶点属性数组)
* [启用或者禁用顶点属性数组](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#启用或者禁用顶点属性数组)
* [选择活动纹理单元。](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#选择活动纹理单元)
* [OpenSL ES](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#opensl-es)
* [Android OpenSL ES 开发:Android OpenSL 介绍和开发流程说明](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#android-opensl-es-开发android-opensl-介绍和开发流程说明)
* [Android OpenSL ES 介绍](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#android-opensl-es-介绍)
* [Android OpenSL ES 开发流程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#android-opensl-es-开发流程)
* [OpenSL ES 开发最重要的接口类 SLObjectItf](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#opensl-es-开发最重要的接口类-slobjectitf)
* [SLObjectItf 创建的具体的接口对象实例](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#slobjectitf-创建的具体的接口对象实例)
* [创建引擎并实现](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#创建引擎并实现)
* [利用引擎对象创建其他接口对象](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#利用引擎对象创建其他接口对象)
* [OpenSL ES 使用示例](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#opensl-es-使用示例)
* [播放assets文件](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#播放assets文件)
* [播放pcm文件](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#播放pcm文件)
* [创建播放器和混音器](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#创建播放器和混音器)
* [设置pcm格式的频率位数等信息并创建播放器](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#设置pcm格式的频率位数等信息并创建播放器)
* [设置缓冲队列和回调函数](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#设置缓冲队列和回调函数)
* [设置播放状态并手动开始调用回调函数](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#设置播放状态并手动开始调用回调函数)
* [Android OpenSL ES 开发:使用 OpenSL 播放 PCM 数据](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#android-opensl-es-开发使用-opensl-播放-pcm-数据)
* [创建声音引擎](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#创建声音引擎)
* [创建声音播放器](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#创建声音播放器)
* [设置播放缓冲](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#设置播放缓冲)
* [获得其他接口用来控制播放](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#获得其他接口用来控制播放)
* [提供播放数据](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#提供播放数据)
* [播放音乐](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#播放音乐)
* [调解音量](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#调解音量)
* [释放资源](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#释放资源)
* [参考源码](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#参考源码)
* [Android OpenSL ES 开发:Android OpenSL 录制 PCM 音频数据](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#android-opensl-es-开发android-opensl-录制-pcm-音频数据)
* [实现说明](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#实现说明)
* [编码实现](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#编码实现)
* [编写缓存buffer队列:RecordBuffer.h、RecordBuffer.cpp](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#编写缓存buffer队列recordbufferhrecordbuffercpp)
* [使用OpenSL ES录制PCM数据](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#使用opensl-es录制pcm数据)
* [验证录制成果](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#验证录制成果)
* [参考源码](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#参考源码-1)
* [Android OpenSL ES 开发:OpenSL ES利用SoundTouch实现PCM音频的变速和变调](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#android-opensl-es-开发opensl-es利用soundtouch实现pcm音频的变速和变调)
* [缘由](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#缘由)
* [实现](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#实现)
* [移植SoundTouch(Android)](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#移植soundtouchandroid)
* [用SoundTouch转码PCM源文件](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#用soundtouch转码pcm源文件)
* [SoundTouch使用流程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#soundtouch使用流程)
* [添加命名空间,并创建SoundTouch指针变量](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#添加命名空间并创建soundtouch指针变量)
* [设置SoundTouch参数](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#设置soundtouch参数)
* [向SoundTouch中传入获取到的PCM数据,使用:putSamples函数](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#向soundtouch中传入获取到的pcm数据使用putsamples函数)
* [获取SoundTouch输出的PCM数据:使用receiveSamples函数](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#获取soundtouch输出的pcm数据使用receivesamples函数)
* [OpenSL ES播放SoundTouch处理后的PCM音频数据](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#opensl-es播放soundtouch处理后的pcm音频数据)
* [思维发散](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#思维发散)
* [FFmpeg解码得到的PCM数据(uint_8 *)利用SoundTouch转码](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ffmpeg解码得到的pcm数据uint_8-利用soundtouch转码)
* [总结](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#总结-1)
* [参考源码](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#参考源码-2)
* [Android音视频开发高级探究篇](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#android音视频开发高级探究篇)
* [音视频编解码技术](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#音视频编解码技术)
* [音视频编解码技术(一):MPEG-4/H.264 AVC 编解码标准](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#音视频编解码技术一mpeg-4h264-avc-编解码标准)
* [H264 概述](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#h264-概述)
* [H.264视频编解码的意义](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#h264视频编解码的意义)
* [H.264编解码的理论依据](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#h264编解码的理论依据)
* [H.264相关概念](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#h264相关概念)
* [H.264 的基本单位](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#h264-的基本单位)
* [帧类型](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#帧类型)
* [GOP(画面组)](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#gop画面组)
* [IDR 帧](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#idr-帧)
* [H.264 压缩方式](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#h264-压缩方式)
* [H.264 压缩算法](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#h264-压缩算法)
* [H.264压缩方式说明](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#h264压缩方式说明)
* [H.264 分层结构](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#h264-分层结构)
* [VLC层(Video Coding Layer)](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#vlc层video-coding-layer)
* [NAL层(Network Abstraction Layer)](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#nal层network-abstraction-layer)
* [NALU (NAL Unit)](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#nalu-nal-unit)
* [Start Code](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#start-code)
* [NAL Header](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#nal-header)
* [RBSP(Raw Byte Sequence Payload))](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#rbspraw-byte-sequence-payload)
* [H.264 局限性](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#h264-局限性)
* [音视频编解码技术(二):AAC 音频编码技术](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#音视频编解码技术二aac-音频编码技术)
* [AAC编码概述](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#aac编码概述)
* [AAC编码规格简述](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#aac编码规格简述)
* [AAC编码的特点](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#aac编码的特点)
* [AAC音频文件格式](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#aac音频文件格式)
* [ACC 音频文件格式类型](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#acc-音频文件格式类型)
* [ADIF 的 Header 结构](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#adif-的-header-结构)
* [ADTS 的 Header 头结构](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#adts-的-header-头结构)
* [AAC文件处理流程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#aac文件处理流程)
* [开源AAC解码器](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#开源aac解码器)
* [流媒体协议](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#流媒体协议)
* [流媒体协议(一):HLS 协议](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#流媒体协议一hls-协议)
* [HLS 概述](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#hls-概述)
* [原理介绍:](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#原理介绍)
* [整体架构](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#整体架构)
* [HLS 播放](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#hls-播放)
* [播放未加密HLS](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#播放未加密hls)
* [播放加密HLS](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#播放加密hls)
* [HLS 协议总结](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#hls-协议总结)
* [优点:](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#优点)
* [缺点:](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#缺点)
* [改进](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#改进)
* [流媒体协议(二):RTMP协议](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#流媒体协议二rtmp协议)
* [概念与摘要](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#概念与摘要)
* [RTMP块流](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#rtmp块流)
* [消息格式](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#消息格式)
* [握手](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#握手)
* [握手序列](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#握手序列)
* [C0和S0格式](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#c0和s0格式)
* [C1和S1格式](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#c1和s1格式)
* [C2和S2格式](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#c2和s2格式)
* [RMTP握手](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#rmtp握手)
* [握手过程示意图](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#握手过程示意图)
* [多媒体文件格式](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#多媒体文件格式)
* [多媒体文件格式(一):MP4 格式](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#多媒体文件格式一mp4-格式)
* [MP4 格式标准介绍](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#mp4-格式标准介绍)
* [MP4分析工具](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#mp4分析工具)
* [Elecard StreamEye](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#elecard-streameye)
* [mp4box](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#mp4box)
* [mp4info](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#mp4info)
* [MP4格式重要Box](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#mp4格式重要box)
* [ftyp(File Type Box)](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ftypfile-type-box)
* [moov(Movie Box)](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#moovmovie-box)
* [trak(Track Box)](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#traktrack-box)
* [mdat(Meida Data Box)](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#mdatmeida-data-box)
* [free或skip(Free Space Box)](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#free或skipfree-space-box)
* [stbl(Sample Table Box)](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#stblsample-table-box)
* [MP4格式 与 FFmpeg实战](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#mp4格式-与-ffmpeg实战)
* [在FFmpeg中的输出MP4的Demuxer信息](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#在ffmpeg中的输出mp4的demuxer信息)
* [通过FFmepg faststart参数的使用,来理解mdat和moov的顺序的意义](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#通过ffmepg-faststart参数的使用来理解mdat和moov的顺序的意义)
* [多媒体文件格式(二):FLV 格式](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#多媒体文件格式二flv-格式)
* [FLV 格式标准介绍](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#flv-格式标准介绍)
* [文件头 Header](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#文件头-header)
* [文件体 FLV Body](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#文件体-flv-body)
* [Tag](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#tag)
* [FLV 分析工具](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#flv-分析工具)
* [FlvAnalyzer](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#flvanalyzer)
* [FLV Format Analysis 工具](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#flv-format-analysis-工具)
* [FLV格式 与 FFmpeg 实战](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#flv格式-与-ffmpeg-实战)
* [使用FFmpeg生成带关键索引信息的FLV](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#使用ffmpeg生成带关键索引信息的flv)
* [使用ffprobe查看FLV关键帧索引相关信息](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#使用ffprobe查看flv关键帧索引相关信息)
* [多媒体文件格式(三):M3U8 格式](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#多媒体文件格式三m3u8-格式)
* [M3U8 格式标准介绍](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#m3u8-格式标准介绍)
* [HLS 与 M3U8](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#hls-与-m3u8)
* [FFmpeg转HLS文件(M3U8)实战](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ffmpeg转hls文件m3u8实战)
* [FFmpeg转MP4为HLS(M3U8)文件](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ffmpeg转mp4为hlsm3u8文件)
* [FFmpeg 转 HLS (M3U8) 文件命令参数](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ffmpeg-转-hls-m3u8-文件命令参数)
* [start_number 参数](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#start_number-参数)
* [hls_time 参数](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#hls_time-参数)
* [hls_list_size 参数](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#hls_list_size-参数)
* [hls_base_url参数](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#hls_base_url参数)
* [多媒体文件格式(四):TS 格式](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#多媒体文件格式四ts-格式)
* [TS 格式标准介绍](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ts-格式标准介绍)
* [TS 格式详解](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ts-格式详解)
* [TS层](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ts层)
* [TS Header](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ts-header)
* [TS Adaptation Field](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ts-adaptation-field)
* [TS Payload](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ts-payload)
* [PES层 & ES 层](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#pes层--es-层)
* [PES层](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#pes层)
* [ES 层](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#es-层)
* [TS流生成及解析流程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ts流生成及解析流程)
* [TS 流生成流程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ts-流生成流程)
* [TS 流解析流程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ts-流解析流程)
* [多媒体文件格式(五):PCM / WAV 格式](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#多媒体文件格式五pcm--wav-格式)
* [名词解析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#名词解析)
* [采样率](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#采样率)
* [位深度](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#位深度)
* [PCM](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#pcm)
* [PCM音频数据存储方式](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#pcm音频数据存储方式)
* [PCM 音频数据的参数](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#pcm-音频数据的参数)
* [WAV](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#wav)
* [PCM & WAV 开发实践](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#pcm--wav-开发实践)
* [PCM格式转为WAV格式(基于C语言)](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#pcm格式转为wav格式基于c语言)
* [PCM降低某个声道的音量(基于C语言)](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#pcm降低某个声道的音量基于c语言)
* [分离PCM音频数据左右声道的数据](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#分离pcm音频数据左右声道的数据)
* [从PCM16LE单声道音频采样数据中截取一部分数据](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#从pcm16le单声道音频采样数据中截取一部分数据)
* [将PCM16LE双声道音频采样数据转换为PCM8音频采样数据](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#将pcm16le双声道音频采样数据转换为pcm8音频采样数据)
* [将PCM16LE双声道音频采样数据的声音速度提高一倍](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#将pcm16le双声道音频采样数据的声音速度提高一倍)
* [FFmpeg](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ffmpeg)
* [FFmpeg命令行工具(一):查看媒体文件头信息工具ffprobe](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ffmpeg命令行工具一查看媒体文件头信息工具ffprobe)
* [简述](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#简述)
* [命令格式](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#命令格式)
* [使用ffprobe查看mp3格式的文件](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#使用ffprobe查看mp3格式的文件)
* [使用ffprobe查看mp4格式的文件](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#使用ffprobe查看mp4格式的文件)
* [ffprobe高级使用方式](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ffprobe高级使用方式)
* [FFmpeg命令行工具(二):播放媒体文件的工具ffplay](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ffmpeg命令行工具二播放媒体文件的工具ffplay)
* [简述](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#简述-1)
* [命令格式](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#命令格式-1)
* [主要选项](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#主要选项)
* [一些高级选项](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#一些高级选项)
* [一些快捷键](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#一些快捷键)
* [ffplay 播放音频](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ffplay-播放音频)
* [ffplay 播放视频](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ffplay-播放视频)
* [ffplay 高级使用方式](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ffplay-高级使用方式)
* [循环播放](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#循环播放)
* [播放 pm.mp4 ,播放完成后自动退出](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#播放-pmmp4-播放完成后自动退出)
* [以 320 x 240 的大小播放 test.mp4](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#以-320-x-240-的大小播放-testmp4)
* [将窗口标题设置为 "myplayer",循环播放 2 次](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#将窗口标题设置为-myplayer循环播放-2-次)
* [播放 双通道 32K 的 PCM 音频数据](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#播放-双通道-32k-的-pcm-音频数据)
* [ffplay音画同步](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ffplay音画同步)
* [FFmpeg命令行工具(三):媒体文件转换工具ffmpeg](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ffmpeg命令行工具三媒体文件转换工具ffmpeg)
* [简述](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#简述-2)
* [命令行参数](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#命令行参数)
* [通用参数](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#通用参数)
* [视频参数](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#视频参数)
* [音频参数](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#音频参数)
* [实践学习](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#实践学习)
* [列出ffmpeg支持的所有格式](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#列出ffmpeg支持的所有格式)
* [剪切一段媒体文件,可以是音频或者视频文件](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#剪切一段媒体文件可以是音频或者视频文件)
* [提取视频文件中的音频数据,并保存为文件](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#提取视频文件中的音频数据并保存为文件)
* [将视频中的音频静音,只保留视频](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#将视频中的音频静音只保留视频)
* [从mp4文件中抽取视频流导出为裸H264数据:](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#从mp4文件中抽取视频流导出为裸h264数据)
* [将视频推送到流媒体服务器上:](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#将视频推送到流媒体服务器上)
* [将流媒体服务器上的流dump到本地:](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#将流媒体服务器上的流dump到本地)
* [给视频添加水印](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#给视频添加水印)
* [倒放音视频](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#倒放音视频)
* [将几个MP4视频文件合并为1个视频.](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#将几个mp4视频文件合并为1个视频)
* [FFmpeg命令行工具(四):FFmpeg 调整音视频播放速度](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ffmpeg命令行工具四ffmpeg-调整音视频播放速度)
* [调整视频速率](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#调整视频速率)
* [调整音频速率](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#调整音频速率)
* [参考文献](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#参考文献)
* [FFmpeg(一):FFmpeg 简介](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ffmpeg一ffmpeg-简介)
* [FFmpeg 介绍](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ffmpeg-介绍)
* [FFmpeg 组成](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ffmpeg-组成)
* [FFmpeg包含类库说明](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ffmpeg包含类库说明)
* [类库说明](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#类库说明)
* [常用结构](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#常用结构)
* [封装格式](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#封装格式)
* [编解码](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#编解码)
* [网络协议](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#网络协议)
* [数据存放](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#数据存放)
* [FFmpeg(二):Mac下安装FFmpeg](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ffmpeg二mac下安装ffmpeg)
* [安装ffmpeg](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#安装ffmpeg)
* [命令行安装](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#命令行安装)
* [下载压缩包安装](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#下载压缩包安装)
* [安装ffplay](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#安装ffplay)
* [命令行安装](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#命令行安装-1)
* [下载压缩包安装](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#下载压缩包安装-1)
* [附言](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#附言-1)
* [FFmpeg(三):将 FFmpeg 移植到 Android平台](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ffmpeg三将-ffmpeg-移植到-android平台)
* [FFmpeg(四):FFmpeg API 介绍与通用 API 分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ffmpeg四ffmpeg-api-介绍与通用-api-分析)
* [FFmpeg 编解码流程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ffmpeg-编解码流程)
* [FFmpeg 相关术语](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ffmpeg-相关术语)
* [FFmpeg 通用 API 分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ffmpeg-通用-api-分析)
* [av_register_all 分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#av_register_all-分析)
* [av_find_codec 分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#av_find_codec-分析)
* [avcodec_open2 分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#avcodec_open2-分析)
* [avcodec_close 分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#avcodec_close-分析)
* [总结](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#总结-2)
* [FFmpeg(五):FFmpeg 编解码 API 分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ffmpeg五ffmpeg-编解码-api-分析)
* [FFmpeg 解码 API 分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ffmpeg-解码-api-分析)
* [avformat_open_input 分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#avformat_open_input-分析)
* [avformat_find_stream_info 分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#avformat_find_stream_info-分析)
* [av_read_frame 分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#av_read_frame-分析)
* [avcodec_decode分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#avcodec_decode分析)
* [avformat_close_input 分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#avformat_close_input-分析)
* [FFmpeg 编码 API 分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ffmpeg-编码-api-分析)
* [avformat_alloc_output_context2 分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#avformat_alloc_output_context2-分析)
* [avio_open2 分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#avio_open2-分析)
* [编码其他API(步骤)分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#编码其他api步骤分析)
* [FFmpeg 解码 API 超时设置](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ffmpeg-解码-api-超时设置)
* [设置开流的超时时间](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#设置开流的超时时间)
* [设置interrupt_callback定义返回机制](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#设置interrupt_callback定义返回机制)
* [FFmpeg(六):FFmpeg 核心模块 libavformat 与 libavcodec 分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ffmpeg六ffmpeg-核心模块-libavformat-与-libavcodec-分析)
* [libavformat介绍](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#libavformat介绍)
* [libavcodec介绍](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#libavcodec介绍)
* [FFmpeg 结构体(一): AVFormatContext 分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ffmpeg-结构体一-avformatcontext-分析)
* [源码整理](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#源码整理)
* [AVForamtContext 重点字段](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#avforamtcontext-重点字段)
* [FFmpeg 结构体(二): AVStream 分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ffmpeg-结构体二-avstream-分析)
* [源码整理](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#源码整理-1)
* [AVStream 重点字段](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#avstream-重点字段)
* [FFmpeg 结构体(三): AVPacket 分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ffmpeg-结构体三-avpacket-分析)
* [源码整理](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#源码整理-2)
* [AVPacket 重点字段](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#avpacket-重点字段)
* [FFmpeg 结构体(四): AVFrame 分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ffmpeg-结构体四-avframe-分析)
* [源码整理](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#源码整理-3)
* [AVFrame 重点字段](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#avframe-重点字段)
* [data[]](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#data)
* [pict_type](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#pict_type)
* [sample_aspect_ratio](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#sample_aspect_ratio)
* [qscale_table](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#qscale_table)
* [FFmpeg 结构体(五): AVCodec 分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ffmpeg-结构体五-avcodec-分析)
* [源码整理](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#源码整理-4)
* [AVCodec 重点字段](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#avcodec-重点字段)
* [enum AVMediaType type](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#enum-avmediatype-type)
* [enum AVCodecID id](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#enum-avcodecid-id)
* [const enum AVPixelFormat *pix_fmts](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#const-enum-avpixelformat-pix_fmts)
* [const enum AVSampleFormat *sample_fmts](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#const-enum-avsampleformat-sample_fmts)
* [FFmpeg 结构体(六): AVCodecContext 分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ffmpeg-结构体六-avcodeccontext-分析)
* [源码整理](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#源码整理-5)
* [AVCodecContext 重点字段](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#avcodeccontext-重点字段)
* [codec_type](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#codec_type)
* [sample_fmt](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#sample_fmt)
* [profile](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#profile)
* [FFmpeg 结构体(七): AVIOContext 分析](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ffmpeg-结构体七-aviocontext-分析)
* [源码整理](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#源码整理-6)
* [AVIOContext 重点字段](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#aviocontext-重点字段)
* [FFmpeg 结构体(八):FFMPEG中重要结构体之间的关系](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ffmpeg-结构体八ffmpeg中重要结构体之间的关系)
* [解协议(http,rtsp,rtmp,mms)](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#解协议httprtsprtmpmms)
* [解封装(flv,avi,rmvb,mp4)](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#解封装flvavirmvbmp4)
* [解码(h264,mpeg2,aac,mp3)](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#解码h264mpeg2aacmp3)
* [存数据](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#存数据)
* [FFmpeg 开发之 AVFilter 使用流程总结](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ffmpeg-开发之-avfilter-使用流程总结)
* [AVFilterGraph 、AVFilterContext、AVFilter](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#avfiltergraph-avfiltercontextavfilter)
* [AVFilter 相关Api使用方法整理](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#avfilter-相关api使用方法整理)
* [AVFilterContext 初始化方法](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#avfiltercontext-初始化方法)
* [AVFilterGraph 相关的Api](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#avfiltergraph-相关的api)
* [FFmpeg Filter Buffer 和 BufferSink 相关APi的使用方法整理](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ffmpeg-filter-buffer-和-buffersink-相关api的使用方法整理)
* [FFmpeg AVFilter 使用整体流程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ffmpeg-avfilter-使用整体流程)
* [过滤器构建:](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#过滤器构建)
* [数据加工](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#数据加工)
* [资源释放](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#资源释放)
* [FFmpeg 过时 Api 汇总整理](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#ffmpeg-过时-api-汇总整理)
* [AVStream::codec: 被声明为已否决](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#avstreamcodec-被声明为已否决)
* [avcodec_encode_audio2:被声明为已否决](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#avcodec_encode_audio2被声明为已否决)
* ['avpicture_get_size': 被声明为已否决](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#avpicture_get_size-被声明为已否决)
* ['avpicture_fill': 被声明为已否决](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#avpicture_fill-被声明为已否决)
* ['avcodec_decode_video2': 被声明为已否决](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#avcodec_decode_video2-被声明为已否决)
* [' avcodec_alloc_frame': 被声明为已否决](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#-avcodec_alloc_frame-被声明为已否决)
* ['av_free_packet': 被声明为已否决](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#av_free_packet-被声明为已否决)
* [avcodec_decode_audio4:被声明为已否决](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#avcodec_decode_audio4被声明为已否决)
* [avcodec_encode_video2:被声明为已否决](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/音视频知识点汇总.md#avcodec_encode_video2被声明为已否决)
## Kotlin知识点汇总
* [对象](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#对象)
* [类](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#类)
* [继承](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#继承)
* [变量](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#变量)
* [常量](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#常量)
* [静态常量](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#静态常量)
* [定义方法](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#定义方法)
* [重载方法](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#重载方法)
* [基本数据类型](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#基本数据类型)
* [比较类型](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#比较类型)
* [转换符](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#转换符)
* [字符串比较](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#字符串比较)
* [数组](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#数组)
* [循环](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#循环)
* [角标循环](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#角标循环)
* [高级循环](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#高级循环)
* [判断器](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#判断器)
* [构造函数](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#构造函数)
* [类创建](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#类创建)
* [私有化 set 方法](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#私有化-set-方法)
* [私有化 get 方法](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#私有化-get-方法)
* [枚举](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#枚举)
* [接口](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#接口)
* [匿名内部类](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#匿名内部类)
* [内部类](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#内部类)
* [内部类访问外部类同名变量](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#内部类访问外部类同名变量)
* [抽象类](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#抽象类)
* [静态变量和方法](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#静态变量和方法)
* [可变参数](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#可变参数)
* [泛型](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#泛型)
* [构造代码块](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#构造代码块)
* [静态代码块](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#静态代码块)
* [方法代码块](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#方法代码块)
* [可见修饰符](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#可见修饰符)
* [无需 findViewById](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#无需-findViewById)
* [Lambda](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#Lambda)
* [函数变量](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#函数变量)
* [空安全](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#空安全)
* [方法支持添加默认参数](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#方法支持添加默认参数)
* [类方法扩展](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#类方法扩展)
* [运算符重载](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#运算符重载)
* [扩展函数](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#扩展函数)
* [let 函数](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#let-函数)
* [with 函数](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#with-函数)
* [run 函数](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#run-函数)
* [apply 函数](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#apply-函数)
* [also 函数](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#also-函数)
* [总结](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#总结)
* [协程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Kotlin知识点汇总.md#协程)
## 设计模式汇总
* [设计模式分类](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/设计模式汇总.md#设计模式分类)
* [面向对象六大原则](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/设计模式汇总.md#面向对象六大原则)
* [工厂模式](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/设计模式汇总.md#工厂模式)
* [单例模式](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/设计模式汇总.md#单例模式)
* [建造者模式](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/设计模式汇总.md#建造者模式)
* [原型模式](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/设计模式汇总.md#原型模式)
* [适配器模式](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/设计模式汇总.md#适配器模式)
* [观察者模式](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/设计模式汇总.md#观察者模式)
* [代理模式](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/设计模式汇总.md#代理模式)
* [责任链模式](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/设计模式汇总.md#责任链模式)
* [策略模式](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/设计模式汇总.md#策略模式)
* [备忘录模式](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/设计模式汇总.md#备忘录模式)
## Gradle知识点汇总
* [依赖项配置](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/Gradle知识点汇总.md#依赖项配置)
## 计算机网络基础
* [网络体系的分层结构](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/计算机网络基础.md#网络体系的分层结构)
* [HTTP 相关](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/计算机网络基础.md#http-相关)
* [请求报文](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/计算机网络基础.md#请求报文)
* [请求行](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/计算机网络基础.md#请求行)
* [请求头](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/计算机网络基础.md#请求头)
* [响应报文](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/计算机网络基础.md#响应报文)
* [常见状态码](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/计算机网络基础.md#常见状态码)
* [缓存机制](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/计算机网络基础.md#缓存机制)
* [Https](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/计算机网络基础.md#https)
* [Http 2.0](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/计算机网络基础.md#http-20)
* [TCP/IP](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/计算机网络基础.md#tcpip)
* [三次握手](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/计算机网络基础.md#三次握手)
* [四次挥手](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/计算机网络基础.md#四次挥手)
* [TCP 与 UDP 的区别](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/计算机网络基础.md#tcp-与-udp-的区别)
* [Socket](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/计算机网络基础.md#socket)
* [使用示例](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/计算机网络基础.md#使用示例)
## C++知识点汇总
* [头文件](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/C++知识点汇总.md#头文件)
* [数据类型](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/C++知识点汇总.md#数据类型)
* [typedef](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/C++知识点汇总.md#typedef)
* [类型限定符](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/C++知识点汇总.md#类型限定符)
* [定义常量](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/C++知识点汇总.md#定义常量)
* [存储类](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/C++知识点汇总.md#存储类)
* [引用 vs 指针](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/C++知识点汇总.md#引用-vs-指针)
* [struct vs class](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/C++知识点汇总.md#struct-vs-class)
* [成员函数](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/C++知识点汇总.md#成员函数)
* [析构函数](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/C++知识点汇总.md#析构函数)
* [拷贝构造函数](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/C++知识点汇总.md#拷贝构造函数)
* [friend 友元](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/C++知识点汇总.md#friend-友元)
* [inline 内联函数](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/C++知识点汇总.md#inline-内联函数)
* [继承类型](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/C++知识点汇总.md#继承类型)
* [运算符重载](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/C++知识点汇总.md#运算符重载)
* [动态内存](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/C++知识点汇总.md#动态内存)
* [命名空间](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/C++知识点汇总.md#命名空间)
* [预处理器](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/C++知识点汇总.md#预处理器)
* [#include](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/C++知识点汇总.md#include)
* [#define](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/C++知识点汇总.md#define)
* [条件编译](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/C++知识点汇总.md#条件编译)
* [预定义宏](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/C++知识点汇总.md#预定义宏)
* [信号](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/C++知识点汇总.md#信号)
* [线程](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/C++知识点汇总.md#线程)
* [强制类型转换](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/C++知识点汇总.md#强制类型转换)
* [const_cast](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/C++知识点汇总.md#const_cast)
* [static_cast](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/C++知识点汇总.md#static_cast)
* [dynamic_cast](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/C++知识点汇总.md#dynamic_cast)
* [reinterupt_cast](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/C++知识点汇总.md#reinterupt_cast)
* [智能指针](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/C++知识点汇总.md#智能指针)
* [unique_ptr](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/C++知识点汇总.md#unique_ptr)
* [shared_ptr](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/C++知识点汇总.md#shared_ptr)
* [weak_ptr](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/C++知识点汇总.md#weak_ptr)
* [内存空间](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/C++知识点汇总.md#内存空间)
## 常见面试算法题汇总
* [排序](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#排序)
* [比较排序](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#比较排序)
* [冒泡排序](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#冒泡排序)
* [归并排序](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#归并排序)
* [快速排序](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#快速排序)
* [线性排序](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#线性排序)
* [计数排序](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#计数排序)
* [桶排序](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#桶排序)
* [二叉树](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#二叉树)
* [顺序遍历](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#顺序遍历)
* [层次遍历](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#层次遍历)
* [左右翻转](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#左右翻转)
* [最大值](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#最大值)
* [最大深度](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#最大深度)
* [最小深度](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#最小深度)
* [平衡二叉树](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#平衡二叉树)
* [链表](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#链表)
* [删除节点](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#删除节点)
* [翻转链表](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#翻转链表)
* [中间元素](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#中间元素)
* [判断是否为循环链表](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#判断是否为循环链表)
* [合并两个已排序链表](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#合并两个已排序链表)
* [链表排序](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#链表排序)
* [删除倒数第N个节点](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#删除倒数第n个节点)
* [两个链表是否相交](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#两个链表是否相交)
* [栈 / 队列](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#栈--队列)
* [带最小值操作的栈](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#带最小值操作的栈)
* [有效括号](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#有效括号)
* [用栈实现队列](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#用栈实现队列)
* [逆波兰表达式求值](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#逆波兰表达式求值)
* [二分](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#二分)
* [二分搜索](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#二分搜索)
* [X的平方根](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#x的平方根)
* [哈希表](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#哈希表)
* [两数之和](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#两数之和)
* [连续数组](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#连续数组)
* [最长无重复字符的子串](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#最长无重复字符的子串)
* [最多点在一条直线上](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#最多点在一条直线上)
* [堆 / 优先队列](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#堆--优先队列)
* [前K大的数](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#前k大的数)
* [前K大的数II](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#前k大的数ii)
* [第K大的数](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#第k大的数)
* [二叉搜索树](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#二叉搜索树)
* [验证二叉搜索树](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#验证二叉搜索树)
* [第K小的元素](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#第k小的元素)
* [数组 / 双指针](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#数组--双指针)
* [加一](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#加一)
* [删除元素](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#删除元素)
* [删除排序数组中的重复数字](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#删除排序数组中的重复数字)
* [我的日程安排表 I](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#我的日程安排表-i)
* [合并排序数组](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#合并排序数组)
* [贪心](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#贪心)
* [买卖股票的最佳时机](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#买卖股票的最佳时机)
* [买卖股票的最佳时机 II](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#买卖股票的最佳时机-ii)
* [最大子数组](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#最大子数组)
* [主元素](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#主元素)
* [字符串处理](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#字符串处理)
* [生成括号](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#生成括号)
* [Excel表列标题](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#excel表列标题)
* [翻转游戏](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#翻转游戏)
* [翻转字符串中的单词](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#翻转字符串中的单词)
* [转换字符串到整数](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#转换字符串到整数)
* [最长公共前缀](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#最长公共前缀)
* [回文数](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#回文数)
* [动态规划](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#动态规划)
* [单词拆分](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#单词拆分)
* [爬楼梯](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#爬楼梯)
* [打劫房屋](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#打劫房屋)
* [编辑距离](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#编辑距离)
* [乘积最大子序列](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#乘积最大子序列)
* [矩阵](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#矩阵)
* [螺旋矩阵](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#螺旋矩阵)
* [判断数独是否合法](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#判断数独是否合法)
* [旋转图像](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#旋转图像)
* [二进制 / 位运算](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#二进制--位运算)
* [落单的数](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#落单的数)
* [格雷编码](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#格雷编码)
* [其他](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#其他)
* [反转整数](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#反转整数)
* [LRU缓存策略](https://github.com/BlackZhangJX/Android-Notes/blob/master/Docs/常见面试算法题汇总.md#lru缓存策略)
# 赞赏本库
如果这个库对您有很大帮助,您愿意支持这个项目的进一步开发以及这个项目的持续维护👇
可以扫描下面的二维码,让我可以喝一杯:coffee:or:beer: 非常感谢您对我内容产出的鼓励,谢谢!