关于Android runnable的一个问题

3
2个回答

7
这个应用是多线程的,对吧?那么,只有一个线程可以对UI进行操作 - UI线程。如果您不手动创建新线程,则无需担心此问题。一旦您自己启动了一个新线程,并且希望它执行与UI相关的任务(例如更新serverStatus文本字段的文本),则必须在UI线程上执行该任务。不遵守此规则将导致异常。 Handlers 用作在线程之间传递消息的一种方式。在这种情况下,UI线程有一个handler,在创建server-thread时作为参数发送。每次需要更新UI时,它都会向UI线程发布一条消息,后者会定期检查新消息并执行附加到其中的Runnable。
这里是另一个链接(附有示例),可能可以帮助您更好地理解它: http://developer.android.com/guide/appendix/faq/commontasks.html#threading

谢谢您提供有关Handlers的信息。 - echo

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接