Broadcast简介

Broadcast

分类1

静态注册广播:<receiver>标签注册

  1. 有效期:随应用程序存在
  2. 控制:一旦注册,则开机一直运行
  3. 资源:由于无法手动关闭,相对较费资源
  4. 使用场景:通常用于系统广播,以及跨应用程序

动态注册广播:代码内用registerReceiver的广播

  1. 有效期:registerReceiver()->unregisterReceiver()结束
  2. 控制:可由代码控制
  3. 资源消耗:由于可手动控制其生命周期,人为合理控制,可节省资源
生命周期

onreceive()结束后即结束,不能再内部进行服务绑定,会导致服务未运行完被杀死,函数内部处理也不应该超过10秒,否则会造成ANR

分类2

无序:sendBroadcast()

有序:sendOrderedBroadcast(),根据优先级决定收到的顺序,可拦截,修改,在receiver priority定义优先级(-1000-1000),值越大,优先级越高

LocalBroadcastManager
程序内的广播,不公开,其他程序无法调用,效率较高通过

获取实例用这个实例注册,发送广播

StickyOrderedBroadcast
粘性广播,需持android.permission.BROADCAST_STICKY权限,会一直滞留,直到有人注册

感觉要被骂啊,用的不多,有错误望不惜赐教,指正防止我坑别人

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容