Android 开发的四大组件分别是:
- 活动(activity),用于表现功能;
- 服务(service),后台运行服务,不提供界面呈现;
- 广播接受者(Broadcast Receive),用于接收广播;
- 内容提供者(Content Provider),支持多个应用中存储和读取数据,相当于数据库。
1. Activity
- activity是安卓的四大组件之一。用来展示可操作界面的窗口。创建了Activity之后,需要调用contentView来赋予界面的展示。只要是与界面相关的界面,都用activity来展示或依附于activity(fragment,dialog,popwindow等)
- activity通常都是 独立的窗口
- 需要在minifest清单文件中注册
- activity之间可以进行intent通信
- 关于activity的生命周期
- 安卓会维持一个activity栈(activity stack),每建立一个新的activity,通常会被放在栈顶,之前打开的activity窗口会被 押入栈(依次压栈)
- activity的集中状态
- 位于栈顶,此时用户可交互(可见的)
- 被压栈(onPause),此时用户不可交互(存在新的activity,将之前activity压栈,此时不可交互,处于暂停状态,当内存不足时,有可能会被回收)
- 停止状态(onstop),当用户退出了后台,或者有activity完全覆盖了之前的activity,此时activity处于停止状态,当其他区域需要 内存回收时,会被回收
- 被销毁(ondestroy),activty被销毁
- activity的集中状态
- 安卓会维持一个activity栈(activity stack),每建立一个新的activity,通常会被放在栈顶,之前打开的activity窗口会被 押入栈(依次压栈)
2.Service(服务)
service是安卓的四大组件之一,通常用来放在后台处理 耗时操作,需要在minifest清单文件中注册。也有生命周期
服务通常用于处理不需要界面交互,需要放在后台长期执行的任务。服务不依赖与任何界面。即使程序被切换到后台,或用户 打开其他程序,服务依旧会活跃于后台。