如果你一直在阅读我的问题,你就会知道我在这个应用程序中度过了一段难忘的时光。这个应用程序包括推送服务(我从头开始编写)和云(我从头开始编写。)Android报告此应用程序使用55%的电池。我怀疑这是因为推送服务器没有让收音机睡觉,因为它总是连接起来。
所以我的问题是如何从我的服务器获取内容时让无线电睡眠和唤醒?它使用的是java.nio - 这是一个潜在的问题吗?我需要它的异步非阻塞功能。我也不想使用谷歌的云消息服务。
具体细节: - 我一直在使用一个始终连接的插座。 - 客户端不发送心跳(我写的没有,无论如何,nio可以自己做) - 服务器只在需要时发送内容(它也使用nio)
感谢您提供任何帮助!
编辑:我使用的收音机取决于可用的互联网连接。例如。如果用户打开了wifi并且Android连接到网络,它将使用WiFi。
答案 0 :(得分:0)
我明白了!我发现电池消耗的位置是通过套接字标记并注释掉可能耗尽的行为。我做了一些沉重的客户端优化,巨大的消耗已经消失。它主要是一个CPU耗尽,因为它不应该从插座中不断读取。