文章目录
Android 16 BackgroundActivityStartController 源码拆解:BAL 责任链校验、双主体判定、宽限期与前台性能保护
📖 文章简介: 本文基于 Android 16 AOSP 源码,深度拆解 WMS 中 BackgroundActivityStartController(BAL,Background Activity Launch)的治理体系。文章从 checkBackgroundActivityStart 的双主体判定(PendingIntent 创建者 + 发送者)切入,追踪 evaluateChain 责任链模式的九级豁免校验(可见窗口 → 非 App 可见窗口 → 前台进程 → 白名单 uid → 白名单组件 → 权限 → AppOp → 后台进程)、BalState/BalVerdict 快照设计、10 秒 ACTIVITY_BG_START_GRACE_PERIOD_MS 宽限期、Android 14/15 两轮 BAL 收紧的 WTF 预警、strict mode 回调机制,以及 ASM(Activity Security Model)对"前台任务被三明治夹击"的防护。配以 Mermaid 流程图展示一次 BAL 请求的完整判定链,附 statsd 埋点与排查实战,适合从事 Android 性能治理与应用兼容性适配的工程师阅读
转载自 CSDN-专业IT技术社区
原文链接:https://blog.csdn.net/weixin_44081096/article/details/166904455




