2010-08-10 73 views
4

我在启动我的应用程序时有时会遇到问题。屏幕会不时黑屏,我必须等待10分钟。我没有得到一个错误消息,并且logcat的这样说:HistoryRecord的活动空闲超时

08-10 11:45:39.659: WARN/ActivityManager(104): Launch timeout has expired, giving up wake lock!
08-10 11:45:39.736: WARN/ActivityManager(104): Activity idle timeout for HistoryRecord{467060f0 org.ccast.contextproviders.androiddatacollector/.gui.UserInterfaceNew}

+0

你可能在UI线程上做了太多的处理....如果你需要更多的细节,你可能应该提供关于你的应用程序在做什么的更多信息,如果可能的话甚至可以提供一些代码。 – Matthieu 2012-11-30 00:45:32

+0

[Launch timeout已过期,放弃唤醒锁! HistoryRecord的活动空闲超时。这是有些担心吗?](http://stackoverflow.com/questions/10031624/launch-timeout-has-expired-giving-up-wake-lock-activity-idle-timeout-for-histo) – Matthieu 2012-11-30 00:45:43

回答

4

我想我找到了问题所在。我使用服务和广播。一项服务向另一项服务发送广播。 BroadcastReceiver执行包含http连接的长时间任务。广播的空闲超时时间为10秒,我的任务运行时间超过10秒。所以BroadcastReceiver应该启动一个新的线程,以便它可以立即返回。

0

实际上你的应用程序在主线程上做了很多事情直到10秒,也许你的应用程序hava在某些步骤中崩溃了,但是你没有注意到在logcat.so中请检查你的代码并尝试删除一些代码以确保你的应用程序是正常的。最后,您可以将您的代码添加回问题的位置。