0

因此,在为我的应用程序进行了所有计算并将 UI 更改为 onPostExicute 方法后,我意识到我的应用程序即使只是为创建我的 AsyncTask 的类初始化所有变量,也会获得 ANR。这是我正在谈论的代码:

http://pastebin.com/BB8M9afE (笔记中的东西是我正在玩的代码片段)

如果您需要更多代码,我可以发布它。如何防止我的线程类导致 ANR?

代码注释: ColorFloodGame(6,6) 用 math.random() 值填充一个 int 数组。GuiThreader 创建一个 ColorFloodGame(6,6) 并使其成为“Play”中的别名,并创建一个执行相同操作的 GUI 驱动程序

4

1 回答 1

4

使用“adb shell cat /data/anr/traces.txt”查看最后一次 ANR 的堆栈爬网。列表中的第一个堆栈用于应用程序的主线程,因此它显示了 ANR 发生时它在做什么。看看它在哪里确定你在做什么需要这么长时间。

于 2011-05-09T20:29:32.993 回答