Skip to content
阅读进度

静态注册和动态注册 BroadcastReceiver 的区别是什么? ​

返回 架构与 SDK 目录

标准回答 ​

静态注册写在 Manifest 中,系统按规则发现组件;动态注册由运行中的代码决定何时开始和停止接收。

通俗例子 ​

只在页面可见时关注某些变化,可动态注册并配对注销;并非所有隐式广播都允许通过 Manifest 长期接收。

深入解释 ​

**注册位置有什么不同:**静态注册写在 Manifest,系统按允许的规则启动和分发;动态注册在运行时建立接收关系,接收范围受注册上下文和解除注册时机影响。

**为什么要看系统限制:**某些隐式广播不能再随意静态接收,导出规则和权限也影响安全。只在页面需要时监听,就应成对注册和注销,而不是注册一次后永远不管。

内容来源 ​

用完整回答理解机制,用真实证据解释项目。