Android 知识梳理目录 - 好吧,这是一个很"干"的标题

一、Java 知识梳理

Java&Android 基础知识梳理(0) – Java 基础知识大纲
Java&Android 基础知识梳理(1) – 注解
Java&Android 基础知识梳理(2) – 序列化
Java&Android 基础知识梳理(3) – 内存区域
Java&Android 基础知识梳理(4) – 垃圾收集器与内存分配策略
Java&Android 基础知识梳理(5) – 类加载&对象实例化
Java&Android 基础知识梳理(6) – 字节输入输出流
Java&Android 基础知识梳理(7) – Android 虚拟机
Java&Android 基础知识梳理(8) – 容器类
Java&Android 基础知识梳理(9) – LruCache 源码解析
Java&Android 基础知识梳理(10) – SparseArray 源码解析
Java&Android 基础知识梳理(11) – 浅拷贝 Vs 深拷贝
Java&Android 基础知识梳理(12) – 泛型
Java&Android 基础知识梳理(13) – 反射

二、Android 基础知识

2.1 Activity 知识梳理

Activity 知识梳理(1) – Activity 生命周期
Activity 知识梳理(2) – Activity 栈
Activity 知识梳理(3) – Activity 状态保存和恢复

2.2 Fragment 知识梳理

Fragment 知识梳理(1) – Fragement 源码解析
Fragment 知识梳理(2) – Fragment 状态保存和恢复
Fragment 知识梳理(3) – FragmentPagerAdapter 和 FragmentStatePagerAdapter 解析
Fragment 知识梳理(4) – FragmentPagerAdapter 和 FragmentStatePagerAdapter 的数据更新问题

2.3 RecyclerView 知识梳理

RecyclerView 知识梳理(1) – 综述
RecyclerView 知识梳理(2) – Adapter
RecyclerView 知识梳理(3) – LayoutManager
RecyclerView 知识梳理(4) – ItemDecoration
RecyclerView 知识梳理(5) – ItemTouchHelper

2.4 Loader 知识梳理

Loader 知识梳理(1) – LoaderManager 初探
Loader 知识梳理(2) – initLoader 和 restartLoader的区别
Loader 知识梳理(3) – 自定义 Loader

2.5 Android 异步任务知识梳理

Android 异步任务知识梳理(1) – AsyncTask 解析
Android 异步任务知识梳理(2) – HandlerThread 解析
Android 异步任务知识梳理(3) – AsyncQueryHandler 解析

2.6 Android 数据存储知识梳理

Android 数据存储知识梳理(1) – SQLiteOpenHelper 源码解析
Android 数据存储知识梳理(2) – Android存储目录
Android 数据存储知识梳理(3) – SharedPreference 源码解析
Android 数据存储知识梳理(4) – 数据库升级操作的处理策略

2.7 状态栏

Android 状态栏知识点总结

2.8 广播

Broadcast 知识梳理(1) – BroadcastReceiver 基本概念

2.9 Service

Service 知识梳理(1) – Service 问题整理

2.10 版本适配

Android 版本适配问题

三、开源框架

3.1 Retrofit 知识梳理

Retrofit 知识梳理(1) – 流程分析
Retrofit 知识梳理(2) – Retrofit 动态代理内部实现

3.2 OkHttp 知识梳理

OkHttp 知识梳理(1) – OkHttp 源码解析之入门
OkHttp 知识梳理(2) – OkHttp 源码解析之异步请求 & 线程调度
OkHttp 知识梳理(3) – OkHttp 之缓存基础
OkHttp 知识梳理(4) – OkHttp 之缓存源码解析

3.3 Volley

Volley 知识梳理 – Volley 源码解析

3.4 Glide

Glide 知识梳理(1) – 基本用法
Glide 知识梳理(2) – 自定义Target
Glide 知识梳理(3) – 自定义transform
Glide 知识梳理(4) – 自定义animate
Glide 知识梳理(5) – 自定义GlideModule
Glide 知识梳理(6) – Glide 源码解析之流程剖析

3.5 RxJava2 理论

RxJava 知识梳理(1) – RxJava 解析
RxJava 知识梳理(2) – RxJava2 操作符实践
RxJava 知识梳理(3) – RxJava2 基础知识小结

3.6 RxJava2 实战

RxJava2 实战知识梳理(1) – 后台执行耗时操作,实时通知 UI 更新
RxJava2 实战知识梳理(2) – 计算一段时间内数据的平均值
RxJava2 实战知识梳理(3) – 优化搜索联想功能
RxJava2 实战知识梳理(4) – 结合 Retrofit 请求新闻资讯
RxJava2 实战知识梳理(5) – 简单及进阶的轮询操作
RxJava2 实战知识梳理(6) – 基于错误类型的重试请求
RxJava2 实战知识梳理(7) – 基于 combineLatest 实现的输入表单验证
RxJava2 实战知识梳理(8) – 使用 publish + merge 优化先加载缓存,再读取网络数据的请求过程
RxJava2 实战知识梳理(9) – 使用 timer/interval/delay 实现任务调度
RxJava2 实战知识梳理(10) – 屏幕旋转导致 Activity 重建时恢复任务
RxJava2 实战知识梳理(11) – 检测网络状态并自动重试请求
RxJava2 实战知识梳理(12) – 实战讲解 publish & replay & share & refCount & autoConnect
RxJava2 实战知识梳理(13) – 如何使得错误发生时不自动停止订阅关系
RxJava2 实战知识梳理(14) – 在 token 过期时,刷新过期 token 并重新发起请求
RxJava2 实战知识梳理(15) – 实现一个简单的 MVP + RxJava + Retrofit 应用

3.7 Dagger2 知识梳理

Dagger2 知识梳理(1) – Dagger2 依赖注入的两种方式
Dagger2 知识梳理(2) – @Qulifier 和 @Named 解决依赖注入迷失
Dagger2 知识梳理(3) – 使用 dependencies 和 @SubComponent 完成依赖注入
Dagger2 知识梳理(4) – @Scope 注解的使用

四、算法知识梳理

面试算法知识梳理(1) – 排序算法
面试算法知识梳理(2) – 字符串算法第一部分
面试算法知识梳理(3) – 字符串算法第二部分
面试算法知识梳理(4) – 数组第一部分
面试算法知识梳理(5) – 数组第二部分
面试算法知识梳理(6) – 数组第三部分
面试算法知识梳理(7) – 数组第四部分
面试算法知识梳理(8) – 二分查找算法及其变型
面试算法知识梳理(9) – 链表算法第一部分
面试算法知识梳理(10) – 二叉查找树
面试算法知识梳理(11) – 二叉树相关算法第一部分
面试算法知识梳理(12) – 二叉树算法第二部分
面试算法知识梳理(13) – 二叉树算法第三部分
面试算法知识梳理(14) – 数字算法

五、Kotlin 知识梳理

Kotlin 知识梳理(1) – Kotlin 基础
Kotlin 知识梳理(2) – 函数的定义与调用
Kotlin 知识梳理(3) – 类、对象和接口
Kotlin 知识梳理(4) – 数据类、类委托 及 object 关键字
Kotlin 知识梳理(5) – lambda 表达式和成员引用
Kotlin 知识梳理(6) – Kotlin 的可空性
Kotlin 知识梳理(7) – Kotlin 的类型系统
Kotlin 知识梳理(8) – 运算符重载及其他约定
Kotlin 知识梳理(9) – 委托属性
Kotlin 知识梳理(10) – 高阶函数:Lambda 作为形参或返回值
Kotlin 知识梳理(11) – 内联函数
Kotlin 知识梳理(12) – 泛型类型参数
Kotlin 知识梳理(13) – 运行时的泛型

六、多线程知识梳理

多线程知识梳理(1) – 并发编程的艺术笔记
多线程知识梳理(2) – synchronized 三部曲之基本使用
多线程知识梳理(3) – synchronized 三部曲之锁优化
多线程知识梳理(4) – synchronized 三部曲之等待/通知模型
多线程知识梳理(5) – 线程池四部曲之 Executor 框架
多线程知识梳理(6) – 线程池四部曲之 ThreadPoolExecutor
多线程知识梳理(7) – ConcurrentHashMap 实现原理
多线程知识梳理(8) – volatile 关键字
多线程知识梳理(9) – ThreadLocal
多线程知识梳理(10) – 死锁的概念

七、 插件化知识梳理

插件化知识梳理(1) – Small 框架之如何引入应用插件
插件化知识梳理(2) – Small 框架之如何引入公共库插件
插件化知识梳理(3) – Small 框架之宿主分身
插件化知识梳理(4) – Small 框架之如何实现插件更新
插件化知识梳理(5) – Small 框架之如何不将插件打包到宿主中
插件化知识梳理(6) – Small 源码分析之 Hook 原理
插件化知识梳理(7) – 类的动态加载入门
插件化知识梳理(8) – 类的动态加载源码分析
插件化知识梳理(9) – 资源的动态加载示例及源码分析
插件化知识梳理(10) – Service 插件化实现及原理

八、NDK 知识梳理

NDK 知识梳理(1) – 使用 CMake 进行 NDK 开发之初体验
NDK 知识梳理(2) – 使用 CMake 进行 NDK 开发之如何编写 CMakeLists.txt 脚本

九、Material Design 控件知识梳理

Material Design 控件知识梳理(1) – Android Design Support Library 是什么
Material Design 控件知识梳理(2) – AppBarLayout & CollapsingToolbarLayout
Material Design 控件知识梳理(3) – BottomSheet && BottomSheetDialog && BottomSheetDialogFragment
Material Design 控件知识梳理(4) – FloatingActionButton
Material Design 控件知识梳理(5) – DrawerLayout && NavigationView
Material Design 控件知识梳理(6) – Snackbar
Material Design 控件知识梳理(7) – BottomNavigationBar
Material Design 控件知识梳理(8) – TabLayout
Material Design 控件知识梳理(9) – TextInputLayout

十、性能优化知识梳理

10.1 性能优化工具知识梳理

性能优化工具知识梳理(1) – TraceView
性能优化工具知识梳理(2) – Systrace
性能优化工具知识梳理(3) – 调试GPU过度绘制 & GPU呈现模式分析
性能优化工具知识梳理(4) – Hierarchy Viewer
性能优化工具知识梳理(5) – MAT
性能优化工具知识梳理(6) – Memory Monitor & Heap Viewer & Allocation Tracker
性能优化工具知识梳理(7) – LeakCanary
性能优化工具知识梳理(8) – Lint

10.2 性能优化技巧知识梳理

性能优化技巧知识梳理(1) – 布局优化
性能优化技巧知识梳理(2) – 内存优化
性能优化技巧知识梳理(3) – 如何排查列表卡顿问题

十一、架构设计知识梳理

架构设计知识梳理(1) – Dagger2
架构设计知识梳理(2) – Flux

十二、设计模式知识梳理

设计模式知识梳理(1) – 结构型 – 适配器模式
设计模式知识梳理(2) – 结构型 – 桥接模式
设计模式知识梳理(3) – 结构型 – 组合模式
设计模式知识梳理(4) – 结构型 – 装饰模式
设计模式知识梳理(5) – 结构型 – 外观模式
设计模式知识梳理(6) – 结构型 – 享元模式
设计模式知识梳理(7) – 结构型 – 代理模式

十三、Framework 源码分析知识梳理

Framework 源码解析知识梳理(1) – 应用进程与 AMS 的通信实现
Framework 源码解析知识梳理(2) – 应用进程与 WMS 的通信实现
Framework 源码解析知识梳理(3) – 应用进程之间的通信实现
Framework 源码解析知识梳理(4) – 从源码角度谈谈 Handler 的应用
Framework 源码解析知识梳理(5) – startService 源码分析
Framework 源码解析知识梳理(6) – ContentProvider 源码解析
Framework 源码解析知识梳理(7) – Handler 的 async 标志位

十四、其它

Ubuntu下 切换 JDK 版本

十五、组件化

组件化知识梳理(1) – Arouter 的基本使用
组件化知识梳理(2) – Arouter 源码分析之 Complier SDK
组件化知识梳理(3) – Arouter 源码分析之运行时 SDK

十六、Android Components

Architecture Components 知识梳理(1) – Lifecycle 示例&原理
Architecture Components 知识梳理(2) – LiveData 示例
Architecture Components 知识梳理(3) – ViewModel 示例

十七、View

17.1 View 绘制体系知识梳理

View 绘制体系知识梳理(1) – LayoutInflater#inflate 源码解析
View 绘制体系知识梳理(2) – setContentView 源码解析
View 绘制体系知识梳理(3) – 绘制流程之 Measure 详解
View 绘制体系知识梳理(4) – 绘制过程之 Layout 详解
View 绘制体系知识梳理(5) – 绘制过程之 Draw 详解
View 绘制体系知识梳理(6) – 绘制过程之 requestLayout 和 invalidate 详解
View 绘制体系知识梳理(7) – getMeasuredWidth 和 getWidth 的区别

17.2 View 事件传递体系知识梳理

View 事件传递体系知识梳理(1) – 事件分发机制
View 事件传递体系知识梳理(2) – 嵌套滑动的实现原理

17.3 Canvas & Paint 知识梳理

Canvas&Paint 知识梳理(1) – Canvas 基础
Canvas&Paint 知识梳理(2) – Canvas 的保存和恢复
Canvas&Paint 知识梳理(3) – 颜色合成 Paint#setColorFilter
Canvas&Paint 知识梳理(4) – 图像合成 Paint#setXfermode
Canvas&Paint 知识梳理(5) – Paint#setShader
Canvas&Paint 知识梳理(6) – 绘制路线 Path 基本用法

17.4 动画体系知识梳理

动画体系知识梳理(1) – 转场动画 ContentTransition 理论篇
动画体系知识梳理(2) – 转场动画 ContentTransition 实践篇

十八、图片

18.1 图片基础知识梳理

图片基础知识梳理(1) – ImageView 的 ScaleType 属性解析
图片基础知识梳理(2) – Bitmap 占用内存分析
图片基础知识梳理(3) – Bitmap&BitmapFactory 解析

18.2 图片压缩知识梳理

图片压缩知识梳理(0) – 图片压缩学习计划
图片压缩知识梳理(1) – PNG 原理
图片压缩知识梳理(2) – 减小 PNG 大小
图片压缩知识梳理(5) – VectorDrawable 简介
图片压缩知识梳理(6) – VectorDrawable 及 AnimatedVectorDrawable 使用详解
图片压缩知识梳理(8) – WebP 使用详解
图片压缩知识梳理(9) – 选择合适的图片格式

十九、Gradle 脚本

Gradle 知识梳理(1) – Gradle 使用配置总结

    原文作者:泽毛
    原文地址: https://www.jianshu.com/p/fd82d18994ce
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞