是否有其他人注意到HTC Incredible特有的行为可能导致应用程序保持设备清醒和忙碌?我收到报告称我的应用程序负责保持设备唤醒和耗尽电池,但仅限于HTC Incredible用户。
我的应用响应了许多可能相关的意图。它有一个在启动时启动的服务,它还响应网络连接的变化。我确实使用了一个WakeLock,但是当我完成处理时我会小心释放它,并且WakeLock在几分钟后会超时,无论我是否完成。
我听说Incredible可能存在一些连接问题,或者其中一些问题。可能是网络频繁上下,触发我的应用程序?
还有其他想法吗?我已经要求用户使用aLogCat向我发送他们的日志。如果他们愿意,这可能有助于缩小原因。
答案 0 :(得分:1)
如果网络经常变化,你会经常运行 你关闭了服务吗?您的服务是否在工作线程上运行(默认情况下不是)。设备处于睡眠状态时,您是否需要响应网络更改? 顺便说一句 - 在启动时运行 - 一旦无线电在网络改变时,你可能会在启动后进行第二次运行。放一些日志,看看重启后你实际运行了多少次。
答案 1 :(得分:1)
问题似乎是我得到了非常快速的网络连接改变意图。比我见过的Droid还要多。我想我将不得不在网络连接变化上设置定时警报,以便我只在网络稳定了一段时间后才尝试处理。
我还发现了一种情况,即在快速网络状态发生变化后,我的代码可能无法释放唤醒锁。唤醒锁定仍然超时,但到那时,我经常收到更多的网络状态变化。
我已经修复了后一个问题,与此同时,我已经关闭了我的应用的网络状态意图,因为它们并不重要。