Android 在睡眠期间减慢前台服务响应

Android slows down foreground service response during sleep

我正在测试我的应用程序前台服务,当它收到来自“server/website”的响应(Handler + Runnable 每 7 秒检查一次服务器上的更改)时,谁应该通知我,我注意到了一些事情异常,当 phone 处于睡眠模式时: 起初,第一分钟似乎一切正常,但之后,服务似乎延迟了。它在服务器更改一分钟后给我一个响应,然后是 2 分钟,然后是 5 分钟,甚至 8 分钟。然后又是1分钟……等等

这仅在 phone 未与笔记本电脑连接时发生。我尝试使用 android studio 对其进行调试,但是当它(通过数据线)连接到笔记本电脑时,一切正常。

好像它停止让应用程序访问互联网。我这么说是因为当我收到来自 WhatsApp 的通知时,我也会收到我的应用程序通知。

可以android slow/throttle 互联网访问该应用程序吗?或者还有其他我没有发现的问题?

我使用两个 phone:华硕 Zenpone 和三星 Galaxy a5。三星似乎工作得更好一些,但是......

我设法通过 android 开发人员文档中的解决方案解决了这个问题:

https://developer.android.com/training/scheduling/wakelock

服务中class:

    PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
        "MyApp::MyWakelockTag");
wakeLock.acquire();

在清单文件中:

<uses-permission android:name="android.permission.WAKE_LOCK" />