# 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: 非常感谢您对我内容产出的鼓励,谢谢!
# Contanct Me 如果觉得看起来比较麻烦,需要PDF版本,或是需要更多学习资料,都可以加上QQ群领取 >本群由我创立,目前已将群主权限交由合作方便于进行日常管理,介意的朋友们在GitHub上看最新版就好了 >> 如果你对于群管理有更好的建议,欢迎群内私聊我(我是-不管事不答疑的随缘冒泡废人) >>>行了行了,名字很随意已经有很多人说过了…毕竟还是要恰饭的嘛… 祝愿每一位有追求的Android开发同胞都能进大厂拿高薪! ## 微信 VX号:**mm14525201314**(需要资料备注一下GitHub,资料)
想加入微信群聊的话,备注:GitHub,加群 ## QQ群 Android开发交流QQ群:**1078864380** (备注一下GitHub,免得被认成打无良广告的) 快捷加群方式:[点击此处加入群聊Android开发交流群](https://jq.qq.com/?_wv=1027&k=VG8FccoS)
>PS: >>平常很忙,找桃子小姐姐领取就好了,别找我 ## 微信公众号 **Android开发之家**
# 版权声明 知识共享许可协议
本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。 Copyright © 2019-present BlackZhangJX 转载本作品内容须遵守上述协议,保证作品内容的完整并注明作者及出处。 任何个人或组织,未经作者本人沟通许可,不得将文中全部或部分内容洗稿和用于写书、卖课等商业活动。