ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

第129篇前台服务与后台限制:通知与省电的平衡

第129篇前台服务与后台限制:通知与省电的平衡 先把结论放在前面:前台服务的本质不是"优先级高不易被杀",而是"用户看得见,所以系统愿意给它更多时间"。代价是必须持续展示通知(Android 14 起还有foregroundServiceType声明与运行时权限要求),以及后台启动受严格限制。这不是可以绕过的机制,而是产品与系统的契约——答出这层理解,才算过了这题。前台服务与后台限制这题的答案可以很短,也可以很长——这篇把它讲成有层次的长答案。三个版本的三道坎Android 的后台执行限制是逐版本加码的,每一版都对应一类真实事故。Android 8.0(Oreo):为解决后台 Service 杀不掉后重启耗电的问题,系统引入后台执行限制——应用在后台时startService会被拒绝,抛IllegalStateException。替代是startForegroundService,但必须在 5 秒内调用startForeground,否则抛ForegroundServiceDidNotStartInTimeException。Android 9(Pie):要求前台 Service必须使用Context-typed通知并放进setFullScreenIntent/
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进