2021年Android开发常见面试题解析

一、 Activity

  1. Activity 的生命周期?
  2. Activity 的启动模式有哪些?区别是什么?
  3. 如何保存 Activity 的状态?

二、 Fragment

  1. Fragment 的生命周期?
  2. Fragment 与 Activity 之间如何通信?
  3. Fragment 的优缺点?

三、 布局优化

  1. Android 布局优化的方式有哪些?
  2. 如何避免过度绘制?
  3. ConstraintLayout 的优势有哪些?

四、 网络请求

  1. 常用的网络请求库有哪些?
  2. Retrofit 的使用流程?
  3. 如何进行网络请求的缓存?

五、 数据存储

  1. Android 中常用的数据存储方式有哪些?
  2. SharedPreferences 的使用场景和优缺点?
  3. SQLite 数据库的使用方法?

六、 多线程

  1. Android 中常用的多线程方式有哪些?
  2. Handler 机制的工作原理?
  3. 如何避免内存泄漏?

七、 内存优化

  1. Android 内存管理机制?
  2. 内存泄漏的原因和解决方法?
  3. 如何使用 Profiler 进行内存分析?

八、 其他

  1. Android 中的事件分发机制?
  2. MVC、MVP、MVVM 的区别?
  3. 常用的设计模式?

答案

请参考相关 Android 开发文档和资料。