Android 异步通信原理机制-- handler

来源:
导读 大家好,我是本期栏目编辑小友,现在为大家讲解Android 异步通信原理机制-- handler问题。 由于处理程序具有...

大家好,我是本期栏目编辑小友,现在为大家讲解Android 异步通信原理机制-- handler问题。

由于处理程序具有异步通信的特性,所以在正常的开发过程中经常使用它。根据你平时的理解和记录,写出处理者的一些信息。如果有什么你不能理解的,希望你能原谅我,纠正我。

1.handler是一个消息分发对象。

2.处理程序的作用:完成Android中的线程通信(数据的异步加载和显示,子线程中耗时的操作,子线程加载后通知UI线程显示数据)。

3.3之间的区别。异步任务和处理程序:

相似性:完成线程通信,实现数据异步加载。

区别:AsyncTask已经打包了通信中涉及的所有步骤,只需要记住打包的框架,并在框架中填写相应的代码即可。

如果线程通信是使用Handler完成的,那么涉及的所有步骤都需要自己创建。

创建程序时,将为该程序创建一个线程。在这个过程中,将创建一个主线程(用户界面线程),并运行一个消息队列。该消息队列管理应用程序中的最高级别对象(四个组件)以及由这些对象创建的窗口。

4.队列特征:先进先出。

5.如何实现沟通:

处理程序应该在主线程中创建。完成后,处理程序将与用户界面线程和用户界面线程的消息队列相关联。当消息通过处理程序在子线程中发送时,消息对象将被发送到主线程的消息队列中。当一个新的消息进入主线程的消息队列中的队列时,监控消息队列的Looper将从队列中取出新输入的消息对象,并将其传递给用户界面线程的处理程序。

6 .张贴方法:

通过post方法在子线程中发送一个Runnable对象,这个对象会被添加到主线程队列的执行序列中,主线程会调用Runnable中的run方法,这实际上是在给子线程中的主线程添加一个操作。

延迟后方法:

在子线程中,主线程发送一条消息,被主线程接收后会延迟。

PostAtTIme方法:

主线程在指定的绝对时间点执行Runnable对象。

7 .发送方法。

方法向主线程发送一条空消息。

sendMessage方法可以向主线程发送int类型标记或封装的Message对象。

发送消息延迟和发送消息时间类似于两种发布方法。

8.消息

Arg1带有一个简单的整数。

Arg2带有一个简单的整数。

消息对象的用户定义编码。

对象引用类型允许消息对象携带引用类型的数据(字符串)。

创建消息对象时,建议使用Message . acquire()方法,而不是直接创建新对象。

9.尺蠖

功能:监控消息队列,当发现消息队列中有新消息时,取出新消息,传递给关联的Handler。

标签:

版权声明:转载此文是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢您的支持与理解。