androidui线程执行,高级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) - 反射
![](http://www.icode9.com/i/li/?n=2&i=images/20210711/1626009458313254.jpg)
# 二、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 版本适配问题
![](http://www.icode9.com/i/li/?n=2&i=images/20210711/1626009458709664.jpg)
# 三、开源框架
## 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 注解的使用
![](http://www.icode9.com/i/li/?n=2&i=images/20210711/1626009459463514.jpg)
![](http://www.icode9.com/i/li/?n=2&i=images/20210711/1626009459911821.jpg)
# 四、算法知识梳理
面试算法知识梳理(1) - 排序算法
面试算法知识梳理(2) - 字符串算法第一部分
面试算法知识梳理(3) - 字符串算法第二部分
面试算法知识梳理(4) - 数组第一部分
面试算法知识梳理(5) - 数组第二部分
面试算法知识梳理(6) - 数组第三部分
面试算法知识梳理(7) - 数组第四部分
面试算法知识梳理(8) - 二分查找算法及其变型
面试算法知识梳理(9) - 链表算法第一部分
面试算法知识梳理(10) - 二叉查找树
面试算法知识梳理(11) - 二叉树相关算法第一部分
面试算法知识梳理(12) - 二叉树算法第二部分
面试算法知识梳理(13) - 二叉树算法第三部分
面试算法知识梳理(14) - 数字算法
![](http://www.icode9.com/i/li/?n=2&i=images/20210711/1626009459496253.jpg)
# 五、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 原理
### 结尾
**最后,针对上面谈的内容,给大家推荐一个Android资料,应该对大家有用。**
首先是一个知识清单:(对于现在的Android及移动互联网来说,我们需要掌握的技术)
>泛型原理丶反射原理丶Java虚拟机原理丶线程池原理丶
>注解原理丶注解原理丶序列化
>Activity知识体系(Activity的生命周期丶Activity的任务栈丶Activity的启动模式丶View源码丶Fragment内核相关丶service原理等)
>代码框架结构优化(数据结构丶排序算法丶设计模式)
>APP性能优化(用户体验优化丶适配丶代码调优)
>热修复丶热升级丶Hook技术丶IOC架构设计
>NDK(c编程丶C++丶JNI丶LINUX)
>如何提高开发效率?
>MVC丶MVP丶MVVM
>微信小程序
>Hybrid
>Flutter
![](http://www.icode9.com/i/li/?n=2&i=images/20210711/1626009460127823.jpg)
接下来是资料清单:(**敲黑板!!!**)
**领取通道在这里给你们摆上了~**
##### **[点击我的GitHub免费获取](https://github.com/a120464/Android-P7/blob/master/Android%E5%BC%80%E5%8F%91%E4%B8%8D%E4%BC%9A%E8%BF%99%E4%BA%9B%EF%BC%9F%E5%A6%82%E4%BD%95%E9%9D%A2%E8%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md)**
* * *
**1.数据结构和算法**
![](http://www.icode9.com/i/li/?n=2&i=images/20210711/1626009460161604.jpg)
**2.设计模式**
![](http://www.icode9.com/i/li/?n=2&i=images/20210711/1626009461708402.jpg)
**3.全套体系化高级架构视频**;七大主流技术模块,视频+源码+笔记
![](http://www.icode9.com/i/li/?n=2&i=images/20210711/1626009461440962.jpg)
**4.面试专题资料包**(怎么能少了一份全面的面试题总结呢~)
![](http://www.icode9.com/i/li/?n=2&i=images/20210711/1626009462485250.jpg)
>不论遇到什么困难,都不应该成为我们放弃的理由!共勉~
如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。谢谢。
![](http://www.icode9.com/i/li/?n=2&i=images/20210711/1626009462532372.jpg)