与android线程相关的looper、handler等术语是啥?这些类有啥关系? [关闭]

Posted

技术标签:

【中文标题】与android线程相关的looper、handler等术语是啥?这些类有啥关系? [关闭]【英文标题】:What are looper, handler and other terms related to android threads? How are these classes related? [closed]与android线程相关的looper、handler等术语是什么?这些类有什么关系? [关闭] 【发布时间】:2017-08-05 17:06:42 【问题描述】:

我在哪里可以找到关于android中定时器、异步任务、处理程序、looper等线程的详细说明?

【问题讨论】:

What is the relationship between Looper, Handler and MessageQueue in Android?的可能重复 "在哪里可以找到android中x的详细解释?" Here. 【参考方案1】:

给你:

定时器

线程调度任务以供将来在后台线程中执行的工具。任务可以安排为一次性执行,也可以定期重复执行。

与每个 Timer 对象对应的是一个单独的后台线程,用于按顺序执行所有计时器的任务。

更多信息请查看here。

异步任务

AsyncTask 允许正确且轻松地使用 UI 线程。此类允许您执行后台操作并在 UI 线程上发布结果,而无需操作线程和/或处理程序。

AsyncTask 被设计为围绕 Thread 和 Handler 的辅助类,并不构成通用的线程框架。

更多信息请查看here。

处理程序

处理程序允许您发送和处理与线程的 MessageQueue 关联的 Message 和 Runnable 对象。每个 Handler 实例都与单个线程和该线程的消息队列相关联。

当您创建一个新的处理程序时,它会绑定到创建它的线程的线程/消息队列——从那时起,它会将消息和可运行对象传递到该消息队列并在它们出来时执行它们消息队列。

更多信息请查看here。

循环器

用于为线程运行消息循环的类。默认情况下,线程没有与之关联的消息循环;创建一个,在要运行循环的线程中调用 prepare(),然后 loop() 让它处理消息,直到循环停止。

更多信息请查看here。

【讨论】:

以上是关于与android线程相关的looper、handler等术语是啥?这些类有啥关系? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

android handle详解2 主线程给子线程发送消息

Android Message handling (based on KK4.4)

Android消息机制和原理

Android 线程通信

Android Handler 异步调用修改界面与主线程

android线程消息传递机制——Looper,Handler,Message