Handler主要用来在线程之间的通信的机制。如在Activity或Service中需要接受其他线程的消息,则在需要接收消息的Activity或Service中需要实现Handler.Callback接口,实现这个接口的:
public boolean handleMessage( Message inMessage ) ;
方法。然后在创建Handler的地方将实现了Callback的类的实例传入:
Looper looper = inContext.getMainLooper();
mThread = looper.getThread();
mHandler = new Handler( looper , mCallback );
或者:
mHandler = new Handler( mCallback )
然后当在线程中可使用如下代码向Acitity或Service发送消息:
//inToken 是一个Object对象,可以传入其他的参数
mHandler.obtainMessage( inWhat , inA , inB , inToken )
mHandler.sendMessage( inMessage )
或
mHandler.sendEmptyMessage( inWhat )
当执上面的代码之后,创建这个Handler时使用Callback实例的handleMessage将会被调用。
可以使用如下代码将一个线程实例放入到Handler中使其执行:
mHandler.post( inRunnable );
可使用如下代码删除这个线程:
mHandler.removeCallbacks( inRunnable );
Handler上还有许多类似的发送消息或添加线程的方法。增加了一些其他的特征
分享到:
相关推荐
Android 中的 Handler 和 Callback 机制 Android 中的 Handler 和 Callback 机制是 Android 应用程序中的一种重要机制,用于线程之间的通信和消息传递。Handler 是 Android 中的一种机制,用于在线程之间传递消息,...
在Android开发中,`Handler`是一个至关重要的组件,它用于在主线程中处理来自其他线程的消息,确保UI更新和事件处理的同步性。本文将详细介绍`Handler`的几种常见写法,以及如何使用`Handler.Callback`进行消息处理...
在Android Handler机制中,还有几个关键概念: - **MessageQueue**:存储待处理Message的队列,Looper会按照先进先出(FIFO)的顺序处理Message。 - **Callback**:Handler的handleMessage()方法就是处理Message的回...
Message是Handler机制中的关键数据结构,它封装了待处理的数据和操作指令。开发者可以通过sendMessage、sendEmptyMessage或post方法将Message放入MessageQueue。当Looper运行时,它会调用Handler的dispatchMessage...
Handler机制是Android系统中的一种跨线程通讯机制,它可以让不同线程之间进行数据交换和通讯。这个机制主要包含三个部分:Handler、Looper和Message Queue。 Handler是消息的处理类,同时也是消息发送的代理入口。...
在Android系统中,消息处理机制是至关重要的,它允许开发者在不同的线程间进行通信,尤其是主线程(UI线程)与其他工作线程之间。这一机制主要涉及到两个关键组件:`Looper`和`Handler`。下面我们将深入探讨这两个...
Android线程消息机制是Android应用开发中的核心组件之一,它允许开发者在不同的线程之间进行通信,特别是子线程与主线程之间的交互。这一机制主要由Handler、Looper、Message和MessageQueue四个关键类组成。 **...
总的来说,`Handler`、`Looper`和`Message`是Android多线程编程中的重要工具,它们通过消息机制,帮助开发者有效地管理线程间的通信,实现异步处理,提升应用的性能和用户体验。理解这三个组件的工作原理和使用方式...
Handler是Message机制中的另一个关键角色。Handler主要用于接收并处理Message,它有两个核心方法:`handleMessage(Message msg)`和`sendMessage(Message msg)`。`handleMessage`方法定义了对特定Message的处理逻辑,...
理解并熟练运用Handler、Message、Message Queue和Looper机制,是成为一名合格Android开发者的基础。合理使用这套机制,能有效提升应用的性能和响应速度,避免因不当操作导致的线程阻塞或ANR(Application Not ...
在Android的`Looper`机制中,`ThreadLocal`用来在每个线程中存储其对应的`Looper`实例。通过`Looper.prepare()`,我们可以在自定义线程中初始化`Looper`,并将当前线程与`Looper`绑定。之后,通过`Looper.loop()`...
在Android系统中,异步消息处理机制是实现线程间通信和保证UI线程安全的关键组件。它涉及到了三个核心类:Looper、Handler和Message。这篇文章将通过源码分析来详细解释这三个类之间的关系以及它们在Android中的作用...
### Android异步消息处理机制Handler详解 #### 一、Handler概念...通过以上介绍,我们可以了解到Handler机制在Android开发中的重要性和其实现细节。掌握Handler的使用不仅可以提高应用的性能,还能增强程序的健壮性。
本篇文章将详细探讨Android的消息处理机制,特别是Message和MessageQueue这两个核心概念。 #### 二、Android消息处理机制概述 当Android应用启动后,会创建一个主进程,在这个进程中包含了UI主线程。UI主线程负责...
但是我们在一个页面(Activity 或者 Fragment)中可以直接使用Handler进行消息的分发和处理。实例如下: private Handler mHandler = new Handler(new Handler.Callback() { @Override public boolean ...
在Android系统中,消息机制(Message)是实现线程间通信和异步处理的重要手段,主要涉及Handler、Looper和Message三个核心组件。本篇将详细阐述Android中的Handler消息机制及其应用。 首先,我们来理解一下Handler...
在Android开发中,`Handler`是一个至关重要的组件,它与`Looper`和`MessageQueue`共同构成了Android的消息处理机制。本学习文档集包含了12个深入解析`Handler`的资料,旨在帮助开发者全面理解并熟练运用`Handler`来...
在"安卓Android源码——HandlerMessage2.rar"中,你可能会找到关于这些概念的实际代码示例,这将有助于你从实践中学习和掌握`Handler`、`Message`的使用方法。通过分析和调试这些代码,你将能够更好地理解Android...
在Android应用开发中,Handler是一种重要的线程通信机制,它与Looper、Message紧密配合,用于在不同的线程间传递消息,解决多线程...在AndroidHandler这个项目中,你可以找到相关的代码示例,加深对Handler机制的理解。