【Android】四大组件

目录

一、四大组件

1. Activity

2. Service

3. BroadcastReceiver

4. ContentProvider

二、组件交互协议


  • Activity管界面
  • Service管后台
  • BroadcastReceiver管消息
  • ContentProvider管数据

一、四大组件

组件 核心功能 生命周期控制方 启动/触发方式 通信方式 典型应用场景 注意事项
Activity 用户界面交互载体 开发者主动管理

startActivity() / 

Intent

Intent传递数据,Bundle保存状态 登录页、详情页等界面跳转 避免内存泄漏
Service 后台任务执行或跨进程服务 系统根据绑定/启动状态管理

startService() / 

bindService()

Binder(绑定服务) / Broadcast 音乐播放、文件下载、位置上报 主线程执行需防ANR,长时间任务用WorkManager

Broadcast

Receiver

系统/应用事件监听与响应 系统触发 广播发送sendBroadcast() Intent携带广播数据 网络状态变化、开机启动、低电量 动态注册需及时解绑,onReceive()限时10秒

Content

Provider

跨应用数据共享与结构化数据管理 开发者定义访问规则 ContentResolver操作URI Cursor / ContentValues 通讯录访问、应用间数据库共享 需声明读写权限,URI权限校验防止越权访问

【Android】四大组件_第1张图片

四大组件各自承担着不同的职责,彼此之间协同工作,共同为用户提供一个流畅的APP体验。

1. Activity

负责展示用户界面,就像App的一个个“页面”,用户通过它与应用交互。  

【Android】四大组件之Activity-CSDN博客文章浏览阅读1.2k次,点赞20次,收藏24次。Activity‌ 是 Android 应用的核心交互组件。_android之activityhttps://blog.csdn.net/qq_15711195/article/details/147526174

2. Service

在后台默默干活的打工人,比如播放音乐或下载文件,没有界面但能长时间运行。

【Android】四大组件之Service-CSDN博客文章浏览阅读1k次,点赞15次,收藏11次。Service是Android应用的核心后台组件。_android之servicehttps://blog.csdn.net/qq_15711195/article/details/147531108

3. BroadcastReceiver

像“收音机”一样接收系统或应用发出的广播消息,比如电量低或网络变化,然后做出响应。

【Android】四大组件之BroadcastReceiver-CSDN博客文章浏览阅读690次,点赞13次,收藏18次。BroadcastReceiver用于监听系统或应用发出的广播事件,实现跨组件通信。https://blog.csdn.net/qq_15711195/article/details/147643486

4. ContentProvider

是“数据管家”,管理应用的数据并提供统一接口,让其他应用也能访问这些数据。

【Android】四大组件之ContentProvider-CSDN博客文章浏览阅读231次,点赞2次,收藏6次。ContentProvider就是用来共享和管理数据的组件。https://blog.csdn.net/qq_15711195/article/details/147652733

    二、组件交互协议

    交互场景 通信方式 示例方法
    Activity → Activity Intent + Bundle startActivity()
    Activity → Service Intent 或 Binder startService()/bindService()
    Service → Activity Broadcast 或 LiveData sendBroadcast()
    跨应用数据共享 ContentResolver + URI query()/insert()

    线程安全‌:Service 和 BroadcastReceiver 默认在主线程运行,耗时操作需开子线程

    【Android】Intent-CSDN博客文章浏览阅读62次。Intent实现组件间通信(Activity/Service/BroadcastReceiver),封装操作指令与数据传输逻辑。https://blog.csdn.net/qq_15711195/article/details/147660151

    你可能感兴趣的:(Android,android)