Android中有哪些处理程序和可运行对象?

时间:2019-03-10 15:29:43

标签: android kotlin

请阻止我使用Android中的Handlers和Runnables这个概念。有人可以给我有关处理程序和可运行对象的详细说明吗?它们的语法和实现?我已经阅读了很多关于此的文章,但是这些概念仍然不清楚,甚至没有部署到Java中。预先感谢

1 个答案:

答案 0 :(得分:5)

我将尝试简化,所以如果不是100%准确,请多多包涵。

基本上,处理程序用于与与MessageQueue关联的Thread进行通信。 如果您在主线程上,或者您在所在的Looper.prepare()中调用了Thread,则它有一个Looper,基本上是{{ 1}}。

该队列会不断轮询,以便每当有MessageQueue进入该队列时,都会在与此Message关联的线程上进行处理

如果您要在特定的MessageQueue上执行一段代码,则必须使用Thread。它只是一个具有Runnable方法的接口,该方法将由Looper在其void run()上执行。

假设您正在执行网络请求,您希望它在另一个Thread上发生,但是当获得结果时,您需要以某种方式将数据传递回Thread以便进行更新您的用户界面,因为无法从另一个Main Thread修改View。 您可以这样做:

Thread