调试事件代码

时间:2011-02-19 00:48:06

标签: android debugging event-handling

如果我想为UI事件调试一些代码,例如

public boolean onTouchEvent(MotionEvent me)
{
    // code to be debugged
}

...我抓住这个帖子(UI):

5秒后我会收到此警告:密钥调度超时发送到com.hos / com.hos.MyActivity ... null到Window ...

20秒后我会得到:密钥调度超时发送到com.hos / com.hos.MyActivity ... null到Window ...继续等待密钥被分派

35秒后我会得到:密钥调度超时发送到com.hos / com.hos.MyActivity ... null到Window ...超时过期进程下一个Key&找到新目标

此时,我的应用程序不仅冻结了,手机也是如此。我经常需要等待ANR,有时需要重新启动手机。

有没有办法在不冻结app / phone的情况下调试此代码超过35秒?

1 个答案:

答案 0 :(得分:0)

如果您的处理可能需要超过几毫秒的时间来处理,您可能需要考虑在另一个可以访问主线程中的处理程序的线程中启动处理。

完成处理后,您可以将消息传递给处理程序,然后处理程序将在UI线程上执行。这有助于防止出现这些错误,并使调试代码更容易。

如果您正在寻找自动化UI测试框架,也许您可​​以考虑将Robotium集成到您的项目中。