0

所以在过去的几个月里,我创建了一个相当复杂的游戏,它即将发布。剩下的唯一问题是它运行得和我希望的一样顺利,我认为这是因为我构建线程的方式。我的代码中的所有内容都是通过表面视图完成的。所有计算、位置更新、绘图、碰撞等都在那里完成。我想知道我是否应该将所有更新放在一个线程中,然后只处理表面线程中的绘图。这是正确的方法吗,如果是,我将如何实现(异步任务、线程、处理程序等)?

4

1 回答 1

1

当然,您应该避免在 UI 线程中进行任何耗时的计算。您还可能会收到 ANR 错误消息。

您可以使用:

  • AsyncTask,但请注意,它有一些缺陷和缺点。例如,它甚至不能保证开始或完成。

  • IntentServices或者HandlerThreads如果您需要执行需要在工作线程中按顺序执行的操作

  • WorkerThreadPool如果您需要执行真正的并行任务。

于 2013-07-15T20:20:10.200 回答