跳到主要内容

四大组件知识体系概览

问题

Android 四大组件是什么?它们各自的职责和生命周期是怎样的?

答案

Android 四大组件(Activity、Service、BroadcastReceiver、ContentProvider)是构建 Android 应用的基石。每个组件都有独特的用途和生命周期,由系统统一管理。

四大组件全景

组件对比

组件用途有界面生命周期注册方式
Activity提供用户交互界面复杂(7 个回调)AndroidManifest
Service执行后台长时间任务简单(Started/Bound)AndroidManifest
BroadcastReceiver响应系统/应用广播极短(onReceive静态/动态
ContentProvider跨进程数据共享随进程(onCreateAndroidManifest

核心知识点

Activity

  • 生命周期onCreateonStartonResumeonPauseonStoponDestroy
  • 启动模式:standard、singleTop、singleTask、singleInstance
  • 任务栈:Task 和 Back Stack 管理
  • 状态保存onSaveInstanceState / onRestoreInstanceState
  • 转场动画:共享元素过渡、自定义过渡

Service

  • Started Service:通过 startService() 启动,独立运行
  • Bound Service:通过 bindService() 绑定,提供 C/S 接口
  • 前台 Service:显示通知,提高优先级防止被杀
  • IntentService:已废弃,推荐 WorkManager
  • Android 12+ 限制:后台启动前台 Service 的限制

BroadcastReceiver

  • 标准广播:异步,所有接收者几乎同时收到
  • 有序广播:按优先级依次传递,可拦截
  • 本地广播LocalBroadcastManager(已废弃)→ 推荐 Flow/LiveData
  • Android 8.0+ 限制:大部分隐式广播需要动态注册

ContentProvider

  • URI 机制content://authority/path/id
  • CRUD 接口queryinsertupdatedelete
  • 跨进程:基于 Binder IPC,支持权限控制
  • 常见应用:通讯录、媒体库、FileProvider

学习路径

面试重点

四大组件中 Activity 是绝对的面试重点,生命周期和启动模式几乎必考。Service 在 Android 高版本限制增多,面试更关注 WorkManager 替代方案。BroadcastReceiverContentProvider 考察频率较低,但了解其原理有助于理解 Android 系统架构。

相关链接