Android四大组件之广播
作用
在同一个APP的不同组件,或者在不同APP的组件之间(系统广播),用于数据的传递和消息的发送。
广播是一种观察者模式,组件之间是松耦合(联系松散)的方式(松耦合高内聚)
注册:
动态注册:用register注册方法
动态注册是在代码中进行注册,广播的接收器和注销比较灵活,可以自由的决定什么时候注册和注销,只能在程序启动后接收到广播。广播接收器的生命周期与activity一样
静态注册:写在清单文件中
不受程序是否启动的约束,应用程序关闭后,还可以接收到广播。
广播者和接收者的“频率”即action的设置
广播的接受者要求继承BroadcastResiver,重写onReceive方法
在onReceive方法中,即在接收到广播后要做什么。一般做发通知,或者启动服务。
onReceive方法运行在UI线程中,不建议在onReceive方法中执行耗时操作,否则将会出现ANR
静态注册的接受者,在APP首次启动时,系统自动实例化接受者类,
所有的动态注册的要求:有注册,就要有注销,否则内存泄漏
建议:在activity的onresume方法中注册,在onpause中注销
activity的生命周期中onresume方法在ctivity与用户有交互时被调用时
当系统将与之对应的activity变得与用户没有交互时,调用onpause方法,此时的activity没有销毁。activity死亡之前,一定会调用onpause方法。