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" />
我正在测试我的应用程序前台服务,当它收到来自“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" />