1.Activity
Activity的生命周期
1.创建onCreate-onStart-onResume
2.死亡onPause-onStop-onDestroy
被盖住的情况
1. 完全盖住 onPause ---> onStop 运行 onRestart --> onStart --> onResume
2. 遮住一部分 onPause 运行 onResume
3. 被回收了--被杀死,不会再执行任何的方法,再回来的时候,已经不是它了,从新创建另外
一个activity
2.Service
Android下的服务是在后台运行 也是没有界面 可以理解成是没有界面的Activity
我们开启服务有两种方式: StartService() 和 BindService().
startService开启服务也叫做非绑定模式开启服务 ,生命周期 第一次执行的方法
有 onCreate().onstartCommand(),到service关闭的时候执行onDestroy()方法。
bindService开启服务也叫做绑定模式开启服务,生命周期 第一次执行的方法有 onCreate(), onBind()方法,
销毁的时候执行onUnBind(),onDestroy()方法, bindService开启服务有个特点,它在设置界面时找不到的,
所以我们无法手动在设置界面销毁它,不过它的生命周期依附于Activity,当Activity销毁的时候,这个服务
也就跟着销毁。
3.BroadCastReceiver
BroadCastReceiver是Android四大组件之一,主要用于接收系统或者app发送的广播事件
广播分两种: 有序广播和无序广播
无序广播:sendBroadcast()方法发送的广播为无序广播,无序广播逻辑上可以被任何广播接受者接收到,优点是效率高。缺点是一个接收者不能将处理结果传递给下一个接收者,
传递的数据在传输过程中不能被修改,并无法终止广播的传播。
有序广播:sendOrderedBroadcast()方法发送的广播为有序广播,有序广播依次传播,列如有三个广播接收
者A,B,C, 优先级是A>B>C
4.ContentProvider
Android中的Content provider机制可支持在多个应用中存储和读取数据。这也是跨应用共享数据的方式之一,还有文件,sharePreference,SQLite数据库等方式存储共享数据库,但是ContentProvider更好的提供了数据共享接口的统一性。
在Android中如果想将自己应用的数据(多为数据库中的数据)提供给第三方应用,那么我们只能通过
ContentProvider来实现了。
ContentProvider是应用程序之间共享数据的接口,使用的时候首先自定义一个类继承ContentProvider,
然后重写query,insert,updata,delete等方法。