Android四大组件之广播

312 阅读1分钟

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方法。