历史记录的活动空闲超时时间是什么?

21
W/ActivityManager(   81): Launch timeout has expired, giving up wake lock!
W/ActivityManager(   81): Activity idle timeout for HistoryRecord

有人知道什么原因会导致这种情况发生吗? 谢谢。


我最近也遇到了这个问题。你是否在 Nexus One 最近的更新后也遇到了这个问题? - ggomeze
我猜这可能是由于某些处理阻塞了主线程,但我不确定。 - shiami
2个回答

15

这意味着Activity仍在尝试完成执行,因此Activity无法显示;与此同时,ActivityManager已超时。

我之前也遇到过同样的问题,并通过整理Activity对象之间的依赖关系来解决它。

我建议启动调试器。查看您的Activity依赖的任何“服务”(例如http客户端、解析器等),并检查它是否阻塞。如果您有在Activity对象之间共享的“服务”,那么还值得检查它们是否仍存在于内存中,因为GC可能已销毁任何静态引用服务对象或作为WeakReference对象缓存的对象。


2
我遇到了类似的问题。
在我的View.dispatchDraw()方法中,我调用了一个触发另一个dispatchDraw()的方法。
(在我的dispatchDraw()方法里添加一个logline显示该函数被连续调用。当在Eclipse中进行方法分析时,这并没有显示出来)

希望对某些人有帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接