0

有没有其他人注意到特定于 HTC Incredible 的行为可能会导致应用程序使设备保持清醒和忙碌?我收到报告说我的应用程序负责保持设备唤醒并耗尽电池,但仅限于 HTC Incredible 用户。

我的应用程序响应了许多可能相关的 Intent。它有一个在启动时启动的服务,它还响应网络连接的变化。我确实使用了 WakeLock,但是当我完成处理时我会小心地释放它,无论我是否完成,WakeLock 都会在几分钟后超时。

我听说 Incredible 可能有一些连接问题,或者其中一些有问题。会不会是网络频繁上下,触发了我的app?

还有其他想法吗?我已经要求一个用户用 aLogCat 向我发送他们的日志。如果他们愿意,这可能有助于缩小原因。

4

2 回答 2

1

如果网络经常变化,你会运行很多。
你要关闭你的服务吗?您的服务是否在工作线程上运行(默认情况下不是)。您是否需要在设备处于睡眠状态时响应网络变化?顺便说一句-在启动时运行-一旦无线电在网络更改上启动,您可能会在启动后进行第二次运行。放一些日志,看看重启后你实际运行了多少次。

于 2010-05-24T17:17:10.957 回答
1

问题似乎是我得到了非常快速的网络连接更改意图。比我用我的 Droid 看到的要多得多。我想我将不得不对网络连接更改设置定时警报,以便我仅在网络稳定一段时间后尝试处理。

我还发现了一种情况,即我的代码在网络状态快速变化后可能无法释放唤醒锁。唤醒锁仍然超时,但到那时,我经常收到更多的网络状态变化。

我已经解决了后一个问题,与此同时,我关闭了我的应用程序的网络状态意图,因为它们并不重要。

于 2010-05-24T18:24:50.997 回答