blocker 中文文档 下载 App

四类组件各关各的 activity service receiver provider 影响完全不同

一张表看清四类组件的区别

在开始动手之前,先把四类组件各自的"负责什么"、"关掉影响什么"、"该不该关"理清楚。Bloker 把它们全部列出来供你逐个开关,但哪类适合关、哪类要谨慎,差别很大。

组件类型职责典型用途关掉后的效果安全程度
activity界面页面首页、设置页、弹窗、广告落地页对应页面打不开⭐⭐⭐ 安全,试错成本最低
service后台任务广告拉取、推送保活、数据上报、后台下载后台任务停止,省电省流量⭐⭐ 要看是不是核心功能
receiver事件监听开机自启、网络变化响应、关联唤醒不再响应那个系统事件⭐⭐ 看监听什么事件
provider数据共享开放内部数据给其他应用其他应用读不到数据⭐⭐⭐⭐ 通常安全

什么时候 activity 不该关?

activity 里带 Main、Splash、Launcher、Home 的那些是应用的入口 activity——关掉它,应用就打不开了,等于变相卸载。除此之外的绝大多数 activity(广告落地页、推广弹窗、设置子页)都可以大胆试关。

什么时候 service 不该关?

核心功能依赖的 service 不能关:

判断方法:关掉前记住 service 的名字,关掉后用应用的核心功能看有没有坏。

什么时候 receiver 不该关?

核心功能依赖 receiver 的典型案例:

大多数应用的 receiver 超过一半是冗余的——厂商应用里监听各种系统广播的 receiver 加起来能有十几个,大部分在你这个设备上永远不会触发。

Provider 基本都能关

provider 是四类组件中影响最小的一类,它只负责数据出口。除非你明确知道某个跨应用数据共享功能需要它,否则关掉不会产生可见的功能影响。