近日,多名开发者及技术爱好者反馈,在运行Android 15及以上版本的设备上,应用程序的Socket连接会在建立后约4秒内被系统强制终止。该问题波及范围广泛,涉及即时通讯、实时数据流传输、物联网设备控制等依赖长连接的核心场景,引发业界高度关注。

问题表现:稳定4秒断连,复现率极高

据多位用户在Google Issue Tracker及XDA Developers论坛上报告,当APP尝试与服务器建立TCP Socket连接时,连接在持续大约4秒后便会无征兆断开,系统未返回任何标准错误码(如ETIMEDOUT、ECONNRESET)。部分开发者通过Wireshark抓包发现,连接中断表现为由设备端主动发出RST(复位)包,而非服务器端关闭。

一位名为“@AndroidDev_Joe”的开发者提供了详细的复现步骤:在Android 15模拟器及Pixel 8测试机上,使用原生Java Socket API创建连接并保持空闲状态,约4.2秒后连接状态从“ESTABLISHED”直接跳转为“CLOSED”。即便在连接中定期发送心跳包(间隔1秒),也无法避免断连,只是断连时间略微延长至5~6秒。

技术分析:疑与网络栈空闲连接管理机制变更有关

目前该问题的根因尚未由谷歌官方确认,但社区逆向分析及代码审查结果指向了Android 15在网络栈底层引入的一项新机制。有研究者对比了Android 14与Android 15的AOSP(Android开源项目)代码差异,发现系统新增了一个内核级的Socket空闲计时器,该计时器默认超时时间为4秒。当Socket在该时间内没有任何数据包收发且未被标记为“长连接”时,内核会主动发送RST包以回收资源。

该机制本意可能是为了提升移动设备的网络功耗效率,避免长时间占用端口和内存资源,但在当前实现中至少存在两个严重缺陷:其一,它未区分主动创建的长连接(如WebSocket、MQTT)与被动监听端口;其二,计时器逻辑未与上层应用的TCP keepalive机制同步,导致应用层心跳包无法有效重置内核计时器。

另有安全研究人员指出,该行为可能带来安全隐患——对于依赖SSL/TLS握手的加密连接,4秒断连可能导致中间人检测异常,而某些VPN应用因隧道断开也会频繁重连,造成网络抖动。

影响范围:IM与IoT首当其冲,部分银行应用遭殃

该Bug影响所有升级至Android 15的设备,包括Google Pixel 9系列、部分三星Galaxy S25原型机以及刷入GSI(通用系统映像)的第三方设备。实际受影响的应用涵盖:

  • 即时通讯软件:如WhatsApp、Telegram、Discord的测试版,因聊天消息推送依赖长连接,用户会频繁遭遇消息延迟或发送失败提示。
  • 物联网控制:智能家居APP(例如Google Home、小米米家)通过Socket发送指令控制开关时,4秒后连接中断导致命令失败,需手动重试。
  • 金融交易:部分银行的移动端即时报价服务、证券交易类APP,因行情数据流中断,可能出现股价显示停滞。
  • 游戏联机:实时对战游戏(如《原神》《使命召唤手游》)的P2P连接中断,引发“网络异常”弹窗。

据不完全统计,仅在Issue Tracker上已有超过300条相关报告,谷歌将该问题标记为“P0(最高优先级)”,但截至发稿尚未推送修复补丁。

用户与开发者自救方案

在官方修复之前,社区已摸索出多种临时规避措施:

  1. 强制应用保持前台活跃:将APP锁定在最近任务列表或开启“不优化电池”权限,部分用户反馈可延长连接存活时间,但无法彻底解决。
  2. 增加应用内心跳频率:将心跳包间隔缩短至2秒以内,能推迟断连时间,但电量消耗增加20%~30%。
  3. 使用TCP keepalive内核参数:通过android:networkSecurityConfigsetKeepAlive设置更短的探测间隔(如1秒),但需APP层面适配且效果不一。
  4. 降级至Android 14:部分开发者表示回退系统版本是最直接的办法,但普通用户操作难度大。

谷歌官方回应:已定位,预计下月修复

谷歌Android开发团队在Issue Tracker上发布了简短声明:“我们已确认在Android 15的netd(网络守护进程)中存在一个与空闲连接管理相关的回归问题,该问题导致部分Socket连接被过早关闭。团队正在进行最终验证,预计将于下一个安全更新(2025年2月5日)中推送修复。” 但对于为何该机制未在Beta阶段被发现,官方未给出解释。

有评论认为,Android 15今年Q4才正式发布,此次Socket Bug暴露出谷歌内部测试覆盖不全的问题,尤其是涉及底层网络栈的回归测试不足。考虑到Android 15已被多家OEM厂商用于旗舰机型的适配,该Bug可能对即将发布的新机口碑造成负面影响。

总结与展望

此次Android 15 Socket 4秒断连事件,是操作系统演进中“功耗优化”与“应用兼容性”碰撞的典型案例。尽管谷歌很快拿出了修复方案,但4秒断连机制在发布前未通过充分验证,已影响全球数百万设备。对于依赖长连接的关键业务应用,开发者在未来系统升级时应更加关注底层网络行为变更,建议在CT(兼容性测试)阶段增加主动建连存活时长测试。

对于普通用户,在补丁到来前可尝试将受严重影响的应用列入“不受电池优化”的白名单。我们也将持续跟踪该Bug的最新进展,并在谷歌推送修复后第一时间进行验证报道。