一个BroadcastReceiver 对象只有在被调用onReceive(Context, Intent)的才有效的,当从该函数返回后,该对象就无效的了,结束生命周期。
1.把耗内存很多的操作,(如:下载或流量统计)注册在一个跨进程的Service里面,通过BroadcastReceiver与前台通信。
2.一些线程需要修改其他对象的属性,但是没有任何方法能确保杀死线程时、可以同通过解除注册BroadcastReceiver的方法与线程断开。
3.接收系统的消息,如开机启动消息, 短信消息,网络消息等。
BroadcastReceiver是service与前台通信的一种途径。加之BroadcastReceiver的生命周期比较短,把临时耗内存多的行为通过此处理,在内存回收的时候会有一定优势。