0

如果你一直在阅读我的问题,你就会知道我在这个应用程序上玩得很开心。这个应用程序包括一个推送服务(我从头开始编写)和一个云(我从头开始编写)。Android 报告这个应用程序正在使用 55% 的电池。我怀疑这是因为推送服务器没有让收音机休眠,因为它始终处于连接状态。

所以我的问题是如何让收音机在从我的服务器获取某些内容时进入睡眠状态并唤醒?它正在使用 java.nio - 这是一个潜在的问题吗?我需要它的异步非阻塞功能。我也不想使用谷歌的云消息服务。

细节: - 我一直在使用一个始终连接的套接字。- 客户端不发送心跳(我没有写,反正nio可能会自己做) - 服务器只在需要时发送(它也使用nio)

感谢您提供任何帮助!

编辑:我使用的收音机取决于可用的互联网连接。例如,如果用户打开了 wifi 并且 Android 连接到网络,它将使用 WiFi。

4

1 回答 1

0

我想到了!我通过套接字标记和注释掉潜在的耗尽行为发现了电池消耗的位置。我做了一些重要的客户端优化,巨大的流失消失了。这主要是由于在不应该的情况下不断地从套接字读取而导致 CPU 消耗。

于 2013-07-12T18:41:53.863 回答