2010-12-21 53 views

回答

7

本申请是多线程的,是吗?在这种情况下,只有一个线程可以在UI上执行操作 - UI线程。如果你不手动创建新线程,那么你不必担心这一点。一旦你自己开始一个新的线程,并且你希望它做一些与UI相关的事情(比如更新serverStatus文本字段的文本),你必须在UI线程上完成。不遵守此规则将导致例外。

Handlers被用作线程之间传递消息的一种方法。在这种情况下,UI线程具有一个处理程序,该处理程序在创建服务器线程时作为参数发送。每次需要更新UI时,它都会向UI线程发布消息,UI线程会定期检查新消息并执行附加到它们的Runnables。

这里是另一个链接(例如带),可以帮助你了解它好一点: http://developer.android.com/guide/appendix/faq/commontasks.html#threading

+0

感谢您对处理程序的信息。 – echo 2010-12-21 23:33:12