1.Activity(Activity通俗地讲就是用户界面,有其自身的生命周期)
- 一个应用程序通常包含多个Activity,它们可以互相切换。
- Activity的使用需要在manifest文件中进行声明。
- Android系统通过任务栈来管理Activity的。
Activity四种加载模式
1>standard(默认加载模式)
每次启动一个Activity都会重写创建一个新的实例,不管这个实例存不存在。
2>singleTop(栈顶复用模式)
如果新的activity已经位于栈顶,那么这个Activity不会被重写创建。
3>singleTask(栈内复用模式)
如果栈中存在这个Activity的实例就会复用,不管它是否位于栈顶复用时,会将它上面的Activity全部出栈。
4>singleInstance(全局唯一模式)
单独占用一个Task栈,具有全局唯一性,即整个系统中就这么一个实例。
2.Service(可以在后台执行长时间运行操作而没有用户界面的应用组件)
- 主要用于在后台处理一些耗时的逻辑,或执行需要长期运行的任务
- 服务可由其他应用组件启动(如Activity),服务一旦被启动将在后台一直运行,即使启动服务的组件(Activity)已销毁也不受影响。
- 组件可以绑定到服务,以与之进行交互,甚至是执行进程间通信 (IPC)。
3.BroadCastReceiver(系统在产生某个事件时发送广播,应用程序使用广播接收器接收广播,从而知道系统产生了什么事件)
当系统/应用程序运行时便会向Android注册各种广播,主要有两种注册类型:
- 非常驻型广播:伴随应用程序的生命周期;
- 常驻型广播:不随应用程序是否关闭而存在,只要有广播来就会被系统调用自动运行。