Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/xfhy/android-notes

✍🏻 关注基础知识,打造优质Android博客
https://github.com/xfhy/android-notes

android java jvm kotlin

Last synced: 22 days ago
JSON representation

✍🏻 关注基础知识,打造优质Android博客

Awesome Lists containing this project

README

        



✍🏻 这里是写博客 or 笔记的地方,Android的路很长,我们一起走下去!:v:

**本项目会长期更新,不断完善** :triangular_flag_on_post: 如果大家觉得它对你有帮助的话,可以点个star收藏一下~ 你的鼓励是我写作的最大动力:beers:

| Ⅰ | Ⅱ | Ⅲ | Ⅳ | Ⅴ | Ⅵ |
| :---------: | :---------: | :---------: | :---------: | :---------:| :---------:|
| 计算机基础 [:computer:](#计算机基础) | 数据结构与算法 [:pencil2:](#数据结构与算法) | 设计模式 [:trophy:](#设计模式) | Java [:coffee:](#Java) | Kotlin [:fire:](#Kotlin) | Android [:zap:](#Android) |

## 0. Android知识体系

下面是我总结的一份Android知识体系,知识体系可以用来帮助我们进行查漏补缺,进阶必备:point_left:

> 图片看不清楚朋友的可以访问[源文件](https://raw.githubusercontent.com/xfhy/Android-Notes/master/Images/Android%E7%9F%A5%E8%AF%86%E4%BD%93%E7%B3%BB.png),或者查看幕布笔记链接: [Android知识体系最新](https://share.mubu.com/doc/7PzS8n0bRf)

![](https://raw.githubusercontent.com/xfhy/Android-Notes/master/Images/1.%20%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9F%BA%E7%A1%80.png)
![](https://raw.githubusercontent.com/xfhy/Android-Notes/master/Images/2.%20Java%E5%9F%BA%E7%A1%80.png)
![](https://raw.githubusercontent.com/xfhy/Android-Notes/master/Images/3.%20Java%E5%B9%B6%E5%8F%91.png)
![](https://raw.githubusercontent.com/xfhy/Android-Notes/master/Images/4.%20JVM%E8%99%9A%E6%8B%9F%E6%9C%BA.png)
![](https://raw.githubusercontent.com/xfhy/Android-Notes/master/Images/5.%20%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95.png)
![](https://raw.githubusercontent.com/xfhy/Android-Notes/master/Images/6.%20Android%E5%9F%BA%E7%A1%80.png)
![](https://raw.githubusercontent.com/xfhy/Android-Notes/master/Images/7.%20Android%E8%BF%9B%E9%98%B6.png)
![](https://raw.githubusercontent.com/xfhy/Android-Notes/master/Images/8.%20%E9%A2%86%E5%9F%9F%E4%B8%93%E5%AE%B6.png)
![](https://raw.githubusercontent.com/xfhy/Android-Notes/master/Images/9.%20%E5%85%B6%E4%BB%96Android%E7%9B%B8%E5%85%B3.png)

## 1. 计算机基础

### 1.1 操作系统

### 1.2 计算机网络

- [HTTP基础](/Blogs/Computer/Network/HTTP基础.md)
- [编码、加密、Hash、序列化和字符集](/Blogs/Computer/Network/编码,加密,Hash,序列化和字符集.md)
- [登录和第三方授权](/Blogs/Computer/Network/登录和第三方授权.md)
- [TCP/IP协议族](/Blogs/Computer/Network/TCP,IP协议族.md)
- [HTTPS基础](/Blogs/Computer/Network/HTTPS基础.md)

## 2. 数据结构与算法

- [打遍天下二叉树](/Blogs/Algorithm/打遍天下二叉树.md)

## 3. 设计模式

## 4. Java

### 集合

- [ArrayList源码解析](/Blogs/Java/集合/ArrayList源码解析.md)
- [LinkedList源码解析](/Blogs/Java/集合/LinkedList源码解析.md)
- [CopyOnWriteArrayList源码解析](/Blogs/Java/集合/CopyOnWriteArrayList源码解析.md)
- [HashMap源码解析](/Blogs/Java/集合/HashMap源码解析.md)
- [ConcurrentHashMap源码解析](/Blogs/Java/集合/ConcurrentHashMap源码解析.md)
- [TreeMap 和 LinkedHashMap](/Blogs/Java/集合/TreeMap和LinkedHashMap.md)
- [HashSet 和 TreeSet](/Blogs/Java/集合/HashSet和TreeSet.md)
- [Android中的Bundle,SparseArray和ArrayMap](/Blogs/Java/集合/Android中的Bundle,SparseArray和ArrayMap.md)

### 基础

- [从源码角度彻底搞懂String,StringBuffer,StringBuilder_20180420](/Blogs/Java/基础/从源码角度彻底搞懂String,StringBuffer,StringBuilder_20180420.md)
- [String](/Blogs/Java/基础/String.md)
- [泛型](/Blogs/Java/基础/泛型.md)
- [异常](/Blogs/Java/基础/异常.md)
- [反射](/Blogs/Java/基础/反射.md)
- [注解](/Blogs/Java/基础/注解.md)
- [反射性能开销原理及优化](/Blogs/Java/基础/反射性能开销原理及优化.md)

### JVM

- [JVM内存数据区域](/Blogs/Java/JVM/1.JVM内存数据区域.md)
- [HotSpot虚拟机对象](/Blogs/Java/JVM/2.HotSpot虚拟机对象.md)
- [垃圾收集器与内存分配策略](/Blogs/Java/JVM/3.垃圾收集器与内存分配策略.md)
- [Java字节码(class文件)解读](/Blogs/Java/JVM/4.Java字节码(class文件)解读.md)
- [字节码指令简介](/Blogs/Java/JVM/5.字节码指令简介.md)
- [虚拟机类加载机制](/Blogs/Java/JVM/6.虚拟机类加载机制.md)
- [虚拟机字节码执行引擎](/Blogs/Java/JVM/7.虚拟机字节码执行引擎.md)
- [前端编译与优化](/Blogs/Java/JVM/8.前端编译与优化.md)
- [后端编译与优化](/Blogs/Java/JVM/9.后端编译与优化.md)
- [Java内存模型与线程](/Blogs/Java/JVM/10.Java内存模型与线程.md)
- [线程安全与锁优化](/Blogs/Java/JVM/11.线程安全与锁优化.md)

## 5. Kotlin

- [Kotlin协程与架构组件一起使用](/Blogs/Kotlin/Kotlin协程与架构组件一起使用.md)
- [Kotlin作用域函数](/Blogs/Kotlin/Kotlin作用域函数.md)
- [Kotlin Flow 使用入门](/Blogs/Kotlin/KotlinFlow使用入门.md)

---

- [协程的取消和异常Part1-核心概念](/Blogs/Kotlin/协程的取消和异常Part1-核心概念.md)
- [协程的取消和异常Part2-取消](/Blogs/Kotlin/协程的取消和异常Part2-取消.md)
- [协程的取消和异常Part3-异常](/Blogs/Kotlin/协程的取消和异常Part3-异常.md)
- [协程的取消和异常Part4-不应取消的协程](/Blogs/Kotlin/协程的取消和异常Part4-不应取消的协程.md)

---

- [0.Kotlin源码地图](/Blogs/Kotlin/0.Kotlin源码地图.md)
- [1.Kotlin挂起函数原理](/Blogs/Kotlin/1.Kotlin挂起函数原理.md)
- [2.Kotlin协程之Continuation和suspendCoroutine](/Blogs/Kotlin/2.Kotlin协程之Continuation和suspendCoroutine.md)
- [3.Kotlin协程之createCoroutine和startCoroutine](/Blogs/Kotlin/3.Kotlin协程之createCoroutine和startCoroutine.md)
- [4.Kotlin协程之launch原理](/Blogs/Kotlin/4.Kotlin协程之launch原理.md)
- [5.Kotlin协程之Dispatchers原理](/Blogs/Kotlin/5.Kotlin协程之Dispatchers原理.md)

## 6. Android

[Android打包流程](/Blogs/Android/Android打包流程.md)

### 系统源码解析

- [死磕Android_View工作原理你需要知道的一切](/Blogs/Android/系统源码解析/死磕Android_View工作原理你需要知道的一切.md)
- [死磕Android_App_启动过程(含_Activity_启动过程)](/Blogs/Android/系统源码解析/死磕Android_App_启动过程(含_Activity_启动过程).md)
- [死磕Android_Service启动流程分析(一)](/Blogs/Android/系统源码解析/死磕Android_Service启动流程分析(一).md)
- [死磕Android_Service绑定流程分析(二)](/Blogs/Android/系统源码解析/死磕Android_Service绑定流程分析(二).md)
- [死磕Android_BroadcastReceiver_工作过程](/Blogs/Android/系统源码解析/死磕Android_BroadcastReceiver_工作过程.md)
- [Lifecycle_原理解析](/Blogs/Android/系统源码解析/Lifecycle_原理解析.md)
- [ViewModel_使用及原理解析](/Blogs/Android/系统源码解析/ViewModel_使用及原理解析.md)
- [Handler机制你需要知道的一切](/Blogs/Android/系统源码解析/Handler机制你需要知道的一切.md)
- [死磕Android_ContentProvider_启动](/Blogs/Android/系统源码解析/死磕Android_ContentProvider_启动.md)
- [LiveData_使用及原理解析](/Blogs/Android/系统源码解析/LiveData_使用及原理解析.md)
- [Window,Activity,View三者关系](/Blogs/Android/系统源码解析/Window,Activity,View三者关系.md)
- [Handler同步屏障](/Blogs/Android/系统源码解析/Handler同步屏障.md)
- [Choreographer原理及应用](/Blogs/Android/系统源码解析/Choreographer原理及应用.md)
- [PMS安装App的过程](/Blogs/Android/系统源码解析/PMS安装App的过程.md)
- [Handler相关知识点大全](/Blogs/Android/系统源码解析/Handler相关知识点大全.md)
- [View动画主流程全解析](/Blogs/Android/系统源码解析/View动画主流程全解析.md)

### 三方库原理

- [LeakCanary 原理探究](/Blogs/Android/三方库原理/LeakCanary_原理探究.md)
- [OkHttp3 原理探究](/Blogs/Android/三方库原理/OkHttp3_原理探究.md)
- [Retrofit 原理解析](/Blogs/Android/三方库原理/Retrofit_原理解析.md)
- [Glide主流程源码解析](/Blogs/Android/三方库原理/Glide主流程源码解析.md)
- [RxJava3原理解析](/Blogs/Android/三方库原理/RxJava3原理解析.md)
- [Android-skin-support 换肤原理详解](/Blogs/Android/三方库原理/Android-skin-support换肤原理详解.md)

### 实战常见问题

- [APK包体积优化](/Blogs/Android/实战常见问题/APK包体积优化.md)
- [屏幕适配](/Blogs/Android/实战常见问题/屏幕适配.md)
- [插件化](/Blogs/Android/实战常见问题/插件化.md)
- [热更新](/Blogs/Android/实战常见问题/热更新.md)
- [APT技术](/Blogs/Android/实战常见问题/APT技术.md)
- [卡顿监控](/Blogs/Android/实战常见问题/卡顿监控.md)
- [ANR 触发、监控、分析 一网打尽](/Blogs/Android/实战常见问题/ANR触发、监控、分析一网打尽.md)
- [Android App Bundle](/Blogs/Android/实战常见问题/AndroidAppBundle.md)
- [R文件详细介绍、瘦身方案和原理](/Blogs/Android/实战常见问题/R文件详细介绍、瘦身方案和原理.md)

### Gradle

- [Gradle系列(一) Groovy 基础](/Blogs/Android/Gradle/Gradle系列(一)_Groovy_基础.md)
- [Gradle系列(二) Gradle执行顺序和task](/Blogs/Android/Gradle/Gradle系列(二)_Gradle执行顺序和task.md)
- [Gradle系列(三) Gradle配置构建和渠道包](/Blogs/Android/Gradle/Gradle系列(三)_Gradle配置构建和渠道包.md)
- [Gradle系列(四) Gradle插件](/Blogs/Android/Gradle/Gradle系列(四)_Gradle插件.md)
- [Gradle系列 插件练习-动态移除权限](/Blogs/Android/Gradle/Gradle系列_插件练习-动态移除权限.md)
- [手把手教大家用Transform API和ASM实现一个防快速点击案例](/Blogs/Android/Gradle/手把手教大家用Transform_API和ASM实现一个防快速点击案例.md)

### View

- [ConstraintLayout使用](/Blogs/Android/View/ConstraintLayout使用.md)

### 数据库

- [SQLite基础](/Blogs/Android/SQLite/SQLite基础.md)

### 多进程

- [Android进程间通信: 深入浅出AIDL](/Blogs/Android/多进程/AIDL详解.md)
- [Android进程间通信: Messenger详解](/Blogs/Android/多进程/Messenger详解.md)
- [Android进程间通信: Binder详解](/Blogs/Android/多进程/Binder详解.md)
- Binder是什么
- 为什么采用Binder作为IPC机制
- Binder通信设计
- Binder内存映射和接收缓存区管理
- Binder模型原理步骤说明
- 谈谈你对Binder的理解
- Android Framework IPC方式
- 一次完整的 IPC 通信流程是怎样的?
- Binder 对象跨进程传递的原理是怎么样的?
- Binder OneWay 机制
- Binder传输大小限制
- Binder可以同时处理的并发请求量是多少
- Binder需要传输大数据该怎么办?
- Binder通信过程中抛出异常、Error怎么办?系统是怎么处理的
- Binder在同进程中使用时会影响效率么?
- Intent使用过程中的限制

### 反编译

- [Android_反编译基础知识](/Blogs/Android/反编译/Android_反编译基础知识.md)
- [Android_反编译实战](/Blogs/Android/反编译/Android_反编译实战.md)

### NDK

- [1_NDK和JNI基本概念](/Blogs/Android/NDK/1_NDK和JNI基本概念.md)
- [2_Android_JNI初识_HelloWorld](/Blogs/Android/NDK/2_Android_JNI初识_HelloWorld.md)
- [3_JNI开发系列之Java与C相互调用](/Blogs/Android/NDK/3_JNI开发系列之Java与C相互调用.md)
- [4_JNI_NDK入门详解](/Blogs/Android/NDK/4_JNI_NDK入门详解.md)

## About me

- #### Email: [email protected]
- #### CSDN: [https://blog.csdn.net/xfhy_](https://blog.csdn.net/xfhy_)
- #### 掘金: [https://juejin.cn/user/2189882892500894](https://juejin.cn/user/2189882892500894)

### License

Copyright 2021 xfhy

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.