LocalBroadcastReceiver
高效的原因主要是它内部是通过Handler实现的
,它的sendBroadcast()
方法含义并非和我们平时所用的一样,它的sendBroadcast()
方法实际上是通过Handler发送一个Message实现的
,既然是它内部是通过Handler来实现广播的发送的,那么相比于系统广播通过Binder
实现那肯定是更高效的,别的应用内发送的广播也不会离开我们的应用:LocalBroadcastReceiver
内部协作主要靠这两个Map
集合,mReceivers
和mActions
当然还有一个List
集合mPendingBroadcasts
,这个主要是存放待接收的广播对象
;