1.协程原理
2.挂起函数和多线程效率比较
3.Glide加载gif原理
4.MVVM架构在项目中如何设计
5.不用LiveData实现MVVM刷新View
6.LiveData在ViewModel注册
7.为什么使用ExoPlayer作为播放组件
8.ExoPlayer的进度条刷新原理
9.MediaPlayer和ExoPlayer的计时原理
10.MediaPlayer计时错误
11.ExoPlayer降噪处理
12.父View收到了ACTION_DOWN,子View对事件进行消费,父View能否收到ACTION_UP(onTouchEvent)
13.在自定义View中遇到过什么问题
14.res下的大图片多机型视频方案
1.协程是什么
2.协程原理
3.线程的生命周期
4.线程池常用方法
5.系统提出的核心线程种类
6.自定义注解
7.性能优化
8.卡顿优化
9.ANR优化
10.什么代码容易出现ANR或卡顿
11.ANR分析
12.trace.txt生成的原理
13.Activity和Fragment的生命周期映射
14.Activity启动流程
15.一个比较好的APP架构应该怎么样
1.kotlin高阶函数
2.kotlin和Java的lamada
3.对lamada的理解,作为参数传递是对象吗
4.lamada内存泄漏
5.Kotlin双冒号
6.Kotlin协程
7.Kotlin协程和Java线程的区别
8.Kotlin协程的挂起和恢复
9.Kotlin协程和线程的联系
10.JAVA的线程和同步
11.synchronized关键字及升级过程
12.synchronized修饰方法和代码块的区别
13.对Lock接口的了解
14.volitile的理解
15.假定一个可能用到指令重排序的场景
16.JAVA线程池
17.线程池核心线程复用原理
18.线程池非核心线程如何不被回收
19.根据线程池设计网络请求的思路
20.线程池的队列
21.okhttp架构和流程
22.okhttp连接复用
23.对RxJava的了解
24.对lifecycle的理解
25.Kotlin 结构化并发
26.RxJava链式调用的原理
27.lifecycle如何封装成现在的使用形式的
28.ViewModel如何在Activity重建时保存数据原理
29.ExoPlayer协议如何适配
30.ExoPlayer整体架构的了解
31.ExoPlayer播放hls流和播放rtmp流的区别
#android面经#提供方:冬日毛毛雨