一、Android知识
Activity知识梳理
Activity知识梳理(1)-Activity生命周期
Activity知识梳理(2)-Activity栈
Activity知识梳理(3)-Activity状态保存和恢复
Fragment知识梳理
Fragment知识梳理(1)-Fragement源码解析
Fragment知识梳理(2)-Fragment状态保存和恢复
Fragment知识梳理(3)-FragmentPagerAdapter和FragmentStatePagerAdapter解析
Fragment知识梳理(4)-FragmentPagerAdapter和FragmentStatePagerAdapter的数据更新问题
RecyclerView知识梳理
RecyclerView知识梳理(1)-综述
RecyclerView知识梳理(2)-Adapter
RecyclerView知识梳理(3)-LayoutManager
RecyclerView知识梳理(4)-ItemDecoration
RecyclerView知识梳理(5)-ItemTouchHelper
Loader知识梳理
Loader知识梳理(1)-LoaderManager初探
Loader知识梳理(2)-initLoader和restartLoader的区别
Loader知识梳理(3)-自定义Loader
Android异步任务知识梳理
Android异步任务知识梳理(1)-AsyncTask解析
Android异步任务知识梳理(2)-HandlerThread解析
Android异步任务知识梳理(3)-AsyncQueryHandler解析
2.6Android数据存储知识梳理
Android数据存储知识梳理(1)-SQLiteOpenHelper源码解析
Android数据存储知识梳理(2)-Android存储目录
Android数据存储知识梳理(3)-SharedPreference源码解析
Android数据存储知识梳理(4)-数据库升级操作的处理策略
状态栏
Android状态栏知识点总结
广播
Broadcast知识梳理(1)-BroadcastReceiver基本概念
Service
Service知识梳理(1)-Service问题整理
版本适配
Android版本适配问题
二、Java知识梳理
JavaAndroid基础知识梳理(0)-Java基础知识大纲
JavaAndroid基础知识梳理(1)-注解
JavaAndroid基础知识梳理(2)-序列化
JavaAndroid基础知识梳理(3)-内存区域
JavaAndroid基础知识梳理(4)-垃圾收集器与内存分配策略
JavaAndroid基础知识梳理(5)-类加载对象实例化
JavaAndroid基础知识梳理(6)-字节输入输出流
JavaAndroid基础知识梳理(7)-Android虚拟机
JavaAndroid基础知识梳理(8)-容器类
JavaAndroid基础知识梳理(9)-LruCache源码解析
JavaAndroid基础知识梳理(10)-SparseArray源码解析
JavaAndroid基础知识梳理(11)-浅拷贝Vs深拷贝
JavaAndroid基础知识梳理(12)-泛型
JavaAndroid基础知识梳理(13)-反射
三、开源框架
Retrofit知识梳理
Retrofit知识梳理(1)-流程分析
Retrofit知识梳理(2)-Retrofit动态代理内部实现
OkHttp知识梳理
OkHttp知识梳理(1)-OkHttp源码解析之入门
OkHttp知识梳理(2)-OkHttp源码解析之异步请求线程调度
OkHttp知识梳理(3)-OkHttp之缓存基础
OkHttp知识梳理(4)-OkHttp之缓存源码解析
Volley
Volley知识梳理-Volley源码解析
Glide
Glide知识梳理(1)-基本用法
Glide知识梳理(2)-自定义Target
Glide知识梳理(3)-自定义transform
Glide知识梳理(4)-自定义animate
Glide知识梳理(5)-自定义GlideModule
Glide知识梳理(6)-Glide源码解析之流程剖析
RxJava2理论
RxJava知识梳理(1)-RxJava解析
RxJava知识梳理(2)-RxJava2操作符实践
RxJava知识梳理(3)-RxJava2基础知识小结
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)-实战讲解publishreplaysharerefCountautoConnect
RxJava2实战知识梳理(13)-如何使得错误发生时不自动停止订阅关系
RxJava2实战知识梳理(14)-在token过期时,刷新过期token并重新发起请求
RxJava2实战知识梳理(15)-实现一个简单的MVP+RxJava+Retrofit应用
Dagger2知识梳理
Dagger2知识梳理(1)-Dagger2依赖注入的两种方式
Dagger2知识梳理(2)-@Qulifier和@Named解决依赖注入迷失
Dagger2知识梳理(3)-使用depencies和@SubComponent完成依赖注入
Dagger2知识梳理(4)-@Scope注解的使用
四、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)-死锁的概念
多线程知识梳理(11)-队列同步器实现原理应用
多线程知识梳理(12)-ReentrantLock解析
多线程知识梳理(13)-ReentrantReadWriteLock原理
六、算法知识梳理
面试算法知识梳理(1)-排序算法
面试算法知识梳理(2)-字符串算法第一部分
面试算法知识梳理(3)-字符串算法第二部分
面试算法知识梳理(4)-数组第一部分
面试算法知识梳理(5)-数组第二部分
面试算法知识梳理(6)-数组第三部分
面试算法知识梳理(7)-数组第四部分
面试算法知识梳理(8)-二分查找算法及其变型
面试算法知识梳理(9)-链表算法第一部分
面试算法知识梳理(10)-二叉查找树
面试算法知识梳理(11)-二叉树相关算法第一部分
面试算法知识梳理(12)-二叉树算法第二部分
面试算法知识梳理(13)-二叉树算法第三部分
面试算法知识梳理(14)-数字算法
七、插件化知识梳理
插件化知识梳理(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开发之如何编写脚本
九、MaterialDesign控件知识梳理
MaterialDesign控件知识梳理(1)-AndroidDesignSupportLibrary是什么
MaterialDesign控件知识梳理(2)-AppBarLayoutCollapsingToolbarLayout
MaterialDesign控件知识梳理(3)-BottomSheetBottomSheetDialogBottomSheetDialogFragment
MaterialDesign控件知识梳理(4)-FloatingActionButton
MaterialDesign控件知识梳理(5)-DrawerLayoutNavigationView
MaterialDesign控件知识梳理(6)-Snackbar
MaterialDesign控件知识梳理(7)-BottomNavigationBar
MaterialDesign控件知识梳理(8)-TabLayout
MaterialDesign控件知识梳理(9)-TextInputLayout
十、性能优化知识梳理
10.1性能优化工具知识梳理
性能优化工具知识梳理(1)-TraceView
性能优化工具知识梳理(2)-Systrace
性能优化工具知识梳理(3)-调试GPU过度绘制GPU呈现模式分析
性能优化工具知识梳理(4)-HierarchyViewer
性能优化工具知识梳理(5)-MAT
性能优化工具知识梳理(6)-MemoryMonitorHeapViewerAllocationTracker
性能优化工具知识梳理(7)-LeakCanary
性能优化工具知识梳理(8)-Lint
性能优化技巧知识梳理
性能优化技巧知识梳理(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源码分析之ComplierSDK
组件化知识梳理(3)-Arouter源码分析之运行时SDK
十六、AndroidComponents
ArchitectureComponents知识梳理(1)-Lifecycle示例原理
ArchitectureComponents知识梳理(2)-LiveData示例
ArchitectureComponents知识梳理(3)-ViewModel示例
十七、View
17.1View绘制体系知识梳理
View绘制体系知识梳理(1)-LayoutInflatersetColorFilter
CanvasPaint知识梳理(4)-图像合成PaintsetShader
CanvasPaint知识梳理(6)-绘制路线Path基本用法
动画体系知识梳理
动画体系知识梳理(1)-转场动画ContentTransition理论篇
动画体系知识梳理(2)-转场动画ContentTransition实践篇
十八、图片
图片基础知识梳理(1)-ImageView的ScaleType属性解析
图片基础知识梳理(2)-Bitmap占用内存分析
图片基础知识梳理(3)-BitmapBitmapFactory解析
图片压缩知识梳理(0)-图片压缩学习计划
图片压缩知识梳理(1)-PNG原理
图片压缩知识梳理(2)-减小PNG大小
图片压缩知识梳理(5)-VectorDrawable简介
图片压缩知识梳理(6)-VectorDrawable及AnimatedVectorDrawable使用详解
图片压缩知识梳理(8)-WebP使用详解
图片压缩知识梳理(9)-选择合适的图片格式
十九、Gradle脚本
Gradle知识梳理(1)-Gradle使用配置总结
如果你依然在编程的世界里迷茫,不知道自己的未来规划,可以加入高级程序员群:里面可以与大神一起交流并走出迷茫。小白可进群免费领取学习资料,看看前辈们是如何在编程的世界里傲然前行。




