Android 四大组件

Android 四大组件
Photo by Denny Müller / Unsplash

Android Manifest中声明组件

Manifest.xml文件中包含四部分

  • 软件包名称和id
  • 应用组件,四大组件中的内容
  • Permission权限
  • 兼容性,包括硬件和软件

加载和解析
系统启动时,PMS会对通用安装目录进行扫描和APK安装,并进行package parse
2、package parse的过车用中有个阶段是Xml Parse,会将AndroidManifest清单中的信息进行解析
3、AndroidManifest中解析出来的信息会放到Settings中,若应用卸载删除会从Settings中将该应用相关信息删除
4、安装新的apk时会类似以上步骤


Activity组件 ——用户操作的可视化界面

继承Context,可以设置主题。

启动模式

  • Standard 标准模式
  • SingleTop Activity在栈顶就复用
  • SingleTask 栈中仅保持一个Activity
  • SingleInstance 单例模式

生命周期
onCreate -> onStart -> onResume -> onPause -> onStop -> onDestroy

flowchart LR
A[*] -->|onCreated| B(Created)
B -->|onStart| C(Started)
C -->|OnResume| D(Resumed)
D -->|OnPause| E(Paused)
E -->|OnStop| F(Stopped)
F -->|onDestroy|G(Destroyed)
F -->|OnStop| C
E -->|OnResume| D

Service组件 ——可以在后台执行长时间操作,而不提供界面

  • 主线程上的Android组件
  • 可以由其他应用组件启动
  • 可脱离调用者的生命周期
  • 客户端(一般是UI)能和Service端建立连接绑定,通过接口来和客户端进行交互

常见用途

  • 功能调度
  • 功能提供
  • 跨进程的功能调用

启动方式

  • startService()
  • bindService()

ContentProvider组件 ——向外提供数据能力


BroadCast组件 ————应用与系统及应用之间相互收发广播消息,类似发布-订阅设计模式

注册方式

  • 动态注册
  • 静态注册
皖ICP备2023003517号-1