LocalBroadcastManager注册广播与传统广播注册区别

一  相同点

1 . LocalBroadcastManager和传统广播(Context注册注销)都能通过BroadcastReceiver介绍信息。


二  不同点

1. 通过LocalBroadcastManager注册的广播只能通过代码的方式注册即LocalBroadcastManager.getInstance(this).registerReceiver()注册。传统广播能在代码动态注册和XML永久注册。

2. LocalBroadcastManager注册的广播,您在发送广播的时候务必使用LocalBroadcastManager.sendBroadcast(intent); 否则您接收不到广播。传统的发送广播的方法:context.sendBroadcast( intent );

3. LocalBroadcastManager注册广播后,一定要记得取消监听。这一步可以有效的解决内存泄漏的问题。

三 应用场景

某些系统广播只能用getApplication().registerReceiver注册 不能使用LocalBroadcastManager注册,否者接受不到信息。比如下图中的,蓝牙接收数据广播和蓝牙状态监听广播。


你可能感兴趣的:(LocalBroadcastManager注册广播与传统广播注册区别)