总结
1.textview的绘制过程
ondraw() onMeasure() onLayout()
2.多渠道打包
在清单列表中配置渠道信息
在build.gradle中进行配置我们需要打包的渠道
3.分包
build.gradle中配置
4.数据库
5.内存优化
页面的重复绘制,通过开发者模式,看gpu(红色表示绘制的次数最多)
gc的频繁调用,大量的创建对象,然后又快速的销毁(for循环的创建)
6.遇到最难的问题
7.mvp
8.第三方框架
9.分页处理
10.图片加载
11.fragment的add和replace的不同
12.怎么解决卡顿
是因为页面的重复的绘制的原因,我们可以同过设置开发者选项的gpu开看看我们的页面的ui是否是重复的绘制
13.断点续传
14.数据结构
15.堆栈
16.base类的封装
17.surfaceView和view的区别
surfaceView是手动的刷新、被动的刷新页面,并且在子线程中进行页面的刷新。
view是主动刷新页面,并且在中线程中刷新页面。
18.asytask和service的区别
19.activity的生命周期
20.anr如何避免
21.软引用和弱引用
软引用:内存不足的时候,被GC回收(handler使用弱引用,handler持有当前类的引用,不能别gc回收,所以使用弱引用)。
弱引用:gc可以及时回收
22.代码块和代码函数的区别
23.进程间的通信
24.屏幕适配
25.数据解析
26.数据保存
27.自定义控件
28.class文件存在哪
29.缓存处理
30.surfaceView的源码
31.三级缓存(有快到慢)
内存缓存
本地缓存
磁盘缓存
32.收不到聊天消息,如何唤醒
33.图文混排