查 receiver 里哪些在监听系统广播 逐个关掉看效果
每个应用的 receiver 都在监听什么
进 Bloker → 任意应用详情页 → receiver tab → 你会看到这个应用注册的所有广播接收器。每个 receiver 下面会显示它监听了哪些系统广播(Bloker 自动解析 intent-filter 里的 action 并给标签)。
高耗电 receiver 识别清单
这些系统广播对应的 receiver 最值得关(关了省电又不影响核心功能):
| 监听的广播 | 触发时机 | 关掉后效果 |
|---|---|---|
BOOT_COMPLETED | 开机完成 | 不再开机自启 |
SCREEN_ON / USER_PRESENT | 屏幕亮起 / 解锁 | 解锁时不再被唤醒推广告 |
CONNECTIVITY_CHANGE | Wi-Fi/移动数据切换 | 网络切换时不再跑数据同步 |
POWER_CONNECTED / POWER_DISCONNECTED | 插上/拔掉充电器 | 充插电时不再跑后台任务 |
TIME_SET / DATE_CHANGED | 时间/日期变化 | 日期变更时不再触发刷新 |
PACKAGE_ADDED / PACKAGE_REMOVED | 安装/卸载应用 | 安装新应用时不再被唤醒 |
LOCALE_CHANGED | 系统语言变化 | 一般不需要关,但如果应用装了多语言支持可能会触发 |
低优先级 receiver
这些 receiver 关之前要确认不会影响功能:
| 监听的广播 | 可能的功能影响 |
|---|---|
SMS_RECEIVED | 短信相关应用(如短信备份、短信拦截)的核心功能 |
PHONE_STATE | 通话相关应用的核心功能 |
MY_PACKAGE_REPLACED | 应用自更新通知 |
MEDIA_MOUNTED / MEDIA_EJECTED | 文件管理器、相册等访问外部存储的功能 |
USER_INITIALIZE | 多用户设备的子用户初始化 |
怎么批量处理 receiver
逐个处理法(推荐):
- 进应用详情 → receiver tab
- 从上到下扫一遍,先找名字和标签里带高耗电关键词的(BOOT、SCREEN、CONNECTIVITY 等)
- 关掉一个 → 切到另一个 receiver → 关掉
- 不要一口气关所有 receiver——有些应用的核心功能依赖某个看起来不起眼的 receiver
- 关掉几个后立刻杀掉应用 → 重启验证核心功能有没有坏
按功能分组处理法:
- 先在一个应用里把所有 BOOT_COMPLETED receiver 关掉(断开机自启)
- 重启手机验证开机自启断了
- 再回来关 SCREEN_ON / USER_PRESENT(断解锁唤醒)
- 锁屏再解锁验证解锁唤醒断了
- 最后关 CONNECTIVITY_CHANGE(断网络切换唤醒)
- 切 Wi-Fi/移动数据验证
用规则库辅助
Bloker 规则库标记的 SDK 组件里也会包含 receiver——比如"穿山甲 SDK"下可能列出 TTAdPushReceiver、"推送通道"下列出 JPushReceiver。用规则库能更快定位到和广告/推送相关的 receiver。