UI线程被卡在2.3设备上

时间:2014-12-08 19:54:19

标签: android ui-thread looper

我有一个非常大的应用程序,我正在努力。有时当我在2.3设备上启动时,UI线程会被卡住。我不认为这是我自己的任务之一,但我无法弄清楚它是什么。有什么方法可以弄清楚当前在UI线程中运行的确切任务是什么?

更多信息: 我在Runnable上运行Handler,但在某些时候使用主Looper,但run()在这些情况下永远不会被执行。当我触摸屏幕时,我也得到一个ANR。我认为它必须以某种方式与内存相关,因为当我删除其中一个背景图像时,感觉它会卡住更少。我虽然没有获得OOM异常。

修改

我启用了主Looper的日志记录。调度的最后一个任务是what=1004。这绝对不是我的。

Looper: >>>>> Dispatching to Handler{406cbec0} null: 1004

1 个答案:

答案 0 :(得分:0)

很抱歉发布回答(没有足够的评论点),但我相信命名AsyncTasks和线程,然后使用 DDMS 或任何其他Android分析工具可能有助于解决您的问题。

通过找出性能最耗时/最耗时的方法和线程,或者可能会使内存过载(使用DDMS检查堆)。

请看以下链接:

http://developer.android.com/tools/debugging/ddms.html http://developer.android.com/tools/debugging/debugging-tracing.html

很抱歉,如果这没有任何帮助。