请阻止我使用Android中的Handlers和Runnables这个概念。有人可以给我有关处理程序和可运行对象的详细说明吗?它们的语法和实现?我已经阅读了很多关于此的文章,但是这些概念仍然不清楚,甚至没有部署到Java中。预先感谢
答案 0 :(得分:5)
我将尝试简化,所以如果不是100%准确,请多多包涵。
基本上,处理程序用于与与MessageQueue
关联的Thread
进行通信。
如果您在主线程上,或者您在所在的Looper.prepare()
中调用了Thread
,则它有一个Looper
,基本上是{{ 1}}。
该队列会不断轮询,以便每当有MessageQueue
进入该队列时,都会在与此Message
关联的线程上进行处理
如果您要在特定的MessageQueue
上执行一段代码,则必须使用Thread
。它只是一个具有Runnable
方法的接口,该方法将由Looper在其void run()
上执行。
假设您正在执行网络请求,您希望它在另一个Thread
上发生,但是当获得结果时,您需要以某种方式将数据传递回Thread
以便进行更新您的用户界面,因为无法从另一个Main Thread
修改View
。
您可以这样做:
Thread