怎么读这一组

四大组件不是五份 API 手册,而是 Android 进程、任务栈、后台限制和跨应用数据交换的同一套模型。建议每个组件都按「它是什么 → 生命周期 → 通信 → 限制与安全」读完,再横向对比。

Activity

  1. Activity 是什么:生命周期基础
  2. Activity 异常销毁后怎么恢复:生命周期与状态
  3. Activity 横竖屏为什么会重建:configChanges
  4. Activity 进程被杀时 onDestroy 靠得住吗:优先级与可靠性
  5. Activity 任务栈怎么排:四种启动模式
  6. Activity 之间怎么通信:Intent、Bundle 与 Scheme

补充:横竖屏为什么会重建 ActivityAndroid 界面体系:Activity、Window、View 与 ViewRootImpl

Fragment

  1. Fragment 是什么:基础与加载方式
  2. Fragment 生命周期:自身与 View 两套
  3. Fragment 怎么通信:不要互相强转 Activity
  4. Fragment 怎么切换:事务与回退栈
  5. Fragment:和旧资料差在哪

Service 与后台任务

  1. Service 是什么:基础与启动方式
  2. Service 生命周期:比 Activity 简单但更容易漏
  3. 前台服务为什么必须有通知:后台限制
  4. 绑定服务怎么通信:Bound Service
  5. Service:和旧资料差在哪

补充:ForegroundServiceIntentServiceJobIntentService

Broadcast

  1. Broadcast 是什么:基础与分类
  2. BroadcastReceiver 怎么注册:生命周期
  3. 系统广播为什么越来越少:版本限制
  4. Broadcast 怎么才安全:导出与权限
  5. Broadcast 源码怎么走:面试要点

ContentProvider

  1. ContentProvider 是什么:和 ContentResolver 怎么用
  2. Content URI 怎么设计:UriMatcher 与 MIME
  3. 自定义 ContentProvider:CRUD 实战
  4. ContentProvider 权限怎么收:Manifest 与 FileProvider
  5. ContentProvider 原理:跨进程与面试题

读完应对得上的面试题

  • Fragment 为什么观察 LiveData 要用 viewLifecycleOwner。
  • Android 8 之后为什么不能再随便起后台 Service。
  • 导出 FileProvider 时为什么不能把整个外部存储暴露出去。