Android 四大组件
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组件 ————应用与系统及应用之间相互收发广播消息,类似发布-订阅设计模式
注册方式
- 动态注册
- 静态注册