1、Activity启动模式及应用场景?
(1)standard: 普通的启动
(2)singleTask: 栈内复用,主activity一般用这个
(3)singleTop: 栈顶复用,消息、通知页面
(4)singleInstance:呼叫来电、闹钟
2、service的两种启动方式?
答:bindService和startService,如果需要和activity绑定使用bindService,不需要则使用startService
3、广播,静态广播和动态广播的区别?
(1)注册方式:静态是清单文件注册,动态是代码注册
(2)生命周期:即使应用不在了,仍能收到静态广播;对应activity销毁,动态广播便不会收到了
4、哪些场景会出现内存泄漏,解决使用弱引用
(1)单例造成的内存泄漏
(2)非静态内部类创建静态实例造成的内存泄漏
(3)Handler造成的内存泄漏
(4)资源对象未关闭:File、Bitmap等
(5)线程造成的内存泄漏
(6)集合容器中的内存泄漏
(7)使用ListView时造成的内存泄漏
(8)WebView造成的泄漏
5、RecyclerView和ListView的区别?
(1)布局效果、常用功能与API等
(2)缓存机制的不同,lv需要自己写viewhoder,rv不需要,复用机制也不一样
(3)局部刷新,lv只能全部刷新,rv可以局部刷新
(4)动画,lv本身不支持动画,rv支持动画
6、Activity+Fragment
7、开发中的常用的布局控件?什么情况下线性布局,什么情况下用相对布局?如何减少布局层级?
8、用过哪些事件总线?EventBus的优缺点是啥?
9、WebView交互原理?
10、数据库,如何进行数据库迁移?
11、大数据加载
12、自定义View
13、handler源码分析
14、如何分析内存泄漏及如何处理
15、如何分析ANR及如何处理
16、内存优化你做过没有?一张十万乘以十万的图片,如何加载才不会内存溢出?
17、内存溢出,内存抖动,内存泄漏你都碰到过吗?怎么解决的?如何区分这几种情况?怎么解决由内存泄漏而导致的内存溢出?
18、进程间通信,binder原理
19、okhttp源码
20、热修复原理及几种方案对比
21、apk加固
22、Glide,RxJava原理和性能优化
23、有没有优化在弱网时候的通信?
(1)Android App优化之网络优化
(2)压缩/减少数据传输量
(3)利用缓存减少网络传输
(4)针对弱网(移动网络), 不自动加载图片
(5)界面先反馈, 请求延迟提交
全部评论
(3) 回帖