2026 年 9 月 23 日 发布

手机通知为什么总是迟到:不是没开通知,是系统在替你省电

手机通知省电系统设置

有件事几乎每个人都遇到过:消息躺在那里十几分钟甚至半小时,你点亮屏幕的那一瞬间,一串通知才齐刷刷地弹出来。

去看通知设置,权限开着;去问应用客服,答复是「消息已送达」。于是只能归结为手机信号不好,或者这个 App 有问题。

大概率都不是。消息到得晚,通常不是没送到,而是送到了却没被允许立刻告诉你——出于省电,系统替你做了个决定,而这个决定藏在几个不显眼的地方。

先分清楚:推送和拉取是两条路

这是理解所有通知问题的前提。

系统推送走的是操作系统的统一通道:Android 上是 FCM,iOS 上是 APNs。应用把消息交给系统,由系统负责唤醒设备并显示,这条路不需要应用自己一直跑着。

应用自取则是应用在后台自己连服务器、自己查有没有新消息,靠的是后台网络和定时任务。聊天类应用的实时性,很大一部分依赖它自己维持的长连接。

这两条路的待遇完全不同。系统的省电策略主要限制的是第二条——后台网络、后台同步、定时任务。按 Android 官方开发者文档的说法,设备进入低电耗模式后,系统会暂停应用的网络访问、忽略唤醒锁、推迟标准闹钟、不让 Wi-Fi 扫描运行、不让同步适配器运行,直到下一个「维护窗口」才统一放行。

而维护窗口的间隔会随着闲置时间拉长变得越来越稀疏。这就是攒着一堆通知、一碰屏幕全弹出来的直接原因。

推送和应用自取是两条完全不同的路

三条最容易被忽略的拦截线

低电耗模式与应用待机。设备没插电、屏幕关闭、放着不动一段时间,Android 就进入低电耗模式。同时,长时间没被打开过的应用会被判为「待机」,后台网络活动被推迟。官方文档里写得很直白:如果希望用户立刻看到通知,应该使用 FCM 的高优先级消息——普通优先级的消息会被排到维护窗口。

三个月没打开,应用会被冻结。Android 12 起有个机制叫「暂停未使用应用的活动」:如果一个应用超过三个月没被打开,系统会自动让它休眠——撤销权限、清掉缓存、停止通知。它不会问你,也不会弹提示。哪天你突然想起这个应用很重要,打开设置才看见它早就被冻上了。

省钱式的数据限制。数据节省程序会限制后台数据,结果是同一个应用在 Wi-Fi 下消息正常、切到蜂窝网络就开始迟到——这不是应用的问题,是它压根没被允许在移动网络下后台联网。

三条最容易被忽略的拦截线

还有一条最朴素的原因

在动手翻设置之前,先排除最简单的可能:通知权限是不是真开着、通知渠道有没有被单独静音、专注模式或勿扰有没有在生效、iOS 的通知摘要有没有把消息压成了定时汇报。

这几项占的比重不低。iOS 的「定时摘要」会把不紧急的通知攒起来,在设定时间一次性送达——很多人开了之后忘了,一直以为是消息延迟。

想修,按这个顺序查

  1. 先看通知本身。iOS 路径是「设置 → 通知 → 该应用」,确认允许通知开着,并检查定时摘要;Android 路径是「设置 → 应用 → 该应用 → 通知」,确认总开关和具体渠道都没被静音。
  2. 再看后台有没有被限制。Android 在「设置 → 应用 → 该应用 → 电池」里选「不受限制」(默认通常是「已优化」);在「设置 → 电池」里关掉省电模式或改成平衡;在应用详情里关掉「未使用时暂停应用活动」;在「设置 → 网络 → 数据用量」里关掉数据节省程序。iOS 在「设置 → 通用 → 后台 App 刷新」里打开,并关掉低电量模式。
  3. 最后看厂商有没有加一层管控。国内几家定制系统普遍在系统之外多做了一道后台管理,路径和叫法各不相同:小米/红米在「应用设置 → 应用管理 → 自启动」与省电策略里;华为在「应用 → 应用启动管理」里改成手动管理,放行自启动和后台活动;三星在「电池 → 后台使用限制」里把应用移出休眠名单;一加/OPPO 则在「电池 → 应用耗电管理」里。这一层是关键——前面两步都放行了、这里没放行,消息照样迟到。

一个偷懒的判断法:如果插上充电器之后消息突然变得即时,那基本可以确定就是省电策略干的。因为充电状态会让设备直接退出低电耗模式。

插上充电器,省电策略就退场了

按这个顺序查,两分钟能定位

这不是谁做错了

省电和即时通知,本来是一对互相矛盾的目标。系统的默认选择是续航优先,因为大部分用户更在意电量,而大部分应用的通知并不紧急。

问题只在于,这个权衡被做在了用户看不见的地方,而且不同厂商、不同系统版本的做法还不一样。

你要做的不多,就是明确告诉系统:这几个应用的消息,不许省。

看完了?点个「赞」让我知道;还没关注的,点个关注就是最大的支持。

← 返回首页