Android 14广播Intent投递延迟问题求助
Android 14/15前台服务间广播Intent投递延迟问题
问题描述
我的应用包含两个服务,通过广播Intent相互通信。在Android 13(Pixel 4XL测试)上,Intent从发送到投递仅需1-2ms;但在Android 14(Pixel 6 Pro测试)上,延迟高达500ms,直接导致应用出现此前没有的卡顿。
我了解Android 14中应用处于缓存状态时,上下文注册的广播会被排队,但本次问题发生在活跃运行的前台服务与无障碍服务之间。
补充测试结果
补充测试1
进一步测试发现:
- 当应用无前台Activity时,Intent会延迟500ms;
- 有前台Activity时则无延迟;
- 即使未杀死应用,只要离开应用就会触发延迟。
结论:即使是前台服务之间的通信,在无前台Activity时Intent投递也会变慢。请问这一点是否有官方文档记录?
补充测试2
在搭载Android 14的Samsung A15 5G上测试,未出现该问题;但在搭载Android 15的Pixel 8 Pro上,该问题仍然存在。
当前接收器实现代码
我使用的是动态注册的接收器,代码如下:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { registerReceiver(broadcastReceiverInternal, intentFilter, RECEIVER_NOT_EXPORTED); } else { registerReceiver(broadcastReceiverInternal, intentFilter); }
注:将接收器设置为exported=true也无法解决延迟问题
疑问与求助
- Android 14/15中所有Intent投递都会变慢吗?
- 导致该性能问题的具体原因是什么?
- 如何解决这个广播Intent投递延迟的问题?
内容的提问来源于stack exchange,提问作者Flyview
相关产品推荐
相关产品推荐

