接触android的应用开发已经有一个多月了,对于控件的使用,比较容易掌握,通过xml配置布局,在主程序中建立对应的控件,设置监听,完成用户动作,我说的也只是入门级的水平,本人也是入门级菜鸟,哈哈!对我而言,初学的难度在于handler的使用上,所以在这里详细介绍一下!
Handler从字面上看就是一个句柄,用于负责发送和处理相应消息,它包括两种队列:线程队列和消息队列,分别通过post和sendmessage来实现。
使用Handler的流程:
1、创建Handler对象,可以直接使使用Handler无参构造函数,创建对象,也可以继承handler类,重写HandlerMessage函数,然后创建Handler对象。
Handler handler = new Handler(){
public void handleMessage(Message msg) {
//执行方法
}
};
2、建立Runable对象,复写run方法,run方法中是将要执行的操作。
Runnable mThread = new Runnable() {
int i = 0;
@Override
public void run() {
// TODO Auto-generated method stub
//执行方法
}
};
3、在监听入口中,调用Handler的post或者postDelayed方法,将要执行的线程对象(Runable对象)加入到线程队列中。也可以用sendMessage发送消息,处理消息的地方就是复写的HandlerMessage里。可以通过obtainMessage,获取消息,传递参数。
handler.post(mThread);
或者
Message msg = handler.obtainMessage();
msg.arg1 = i;
handler.sendMessage(msg);
想要线程停止,可以调用Handler对象的removecallbacks(Runable r)从线程队列中移除线程对象。
注意:线程对象和消息对象分别对应线程队列和消息队列,处理也是分成了post和SendMessage两种,要加以区分。
Handler分发Message对象和Runable对象到主线程,每个handler实例都会绑定到创建他的线程中。
ps:我也看书和自己练习总结的,可能有说的不清楚的地方!
分享到:
相关推荐
主要为大家详细介绍了Android Handler的原理,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
# Android Handler解析 在Android应用开发中,保持应用程序的响应性是至关重要的。为了实现这一目标,我们需要确保UI线程不会被阻塞。通常来说,将耗时的任务(如网络请求、复杂计算等)放到后台线程执行可以提高UI...
Android Handler机制解析 Android Handler机制是Android系统中的一种机制,用于处理线程之间的通信和消息传递。在Android系统中,Handler机制是基于Java的线程机制来实现的。下面将对Android Handler机制进行详细的...
在Android开发中,`Handler`是一个至关重要的组件,它用于处理与线程通信相关的任务,尤其是在主线程(UI线程)和工作线程之间。`Handler`、`Looper`和`Message`三者共同构成了Android的消息传递机制。下面将详细...
Android Handler是Android应用程序中用于处理线程间通信和更新UI的主要机制。当应用程序启动时,Android系统会默认创建一个主线程,也称为UI线程,它的主要任务是管理用户界面,包括事件分发和UI控件的操作。在这个...
### Android Handler机制详解 #### 一、Handler简介与作用 在Android开发中,**Handler**是一种非常重要的消息处理机制,主要用于解决线程间通信的问题。它使得开发者可以在一个线程中发送消息或运行任务,并在另...
在“androidHandler测试的demo”中,我们可以预期包含以下内容: 1. 创建自定义`Handler`子类:这个子类可能重写了`handleMessage(Message msg)`方法,根据`msg.what`的值执行不同的操作,比如更新UI元素或执行特定...
在Android应用开发中,Handler、Looper和Message是实现线程间通信的重要机制,尤其是在主线程与工作线程之间同步数据和执行UI更新时。Handler、Looper和Message三者结合使用,构建了一个消息处理系统,使得非UI线程...
在Android应用开发中,Handler是实现线程间通信的关键组件,尤其在涉及到UI更新时。本文将深入探讨Android Handler消息传递机制,以及如何利用它在不同线程间传递信息,以便在新启动的线程中修改UI组件。 首先,...
Android Handler内存泄漏详解及其解决方案 在 Android 开发过程中,我们可能会遇到过令人奔溃的 OOM 异常,这篇文章主要介绍了 Android Handler 内存泄漏详解及其解决方案,具有一定的参考价值,感兴趣的小伙伴们...
Android Handler 原理分析 Handler一个让无数android开发者头疼的东西,希望我今天这边文章能为您彻底根治这个问题 今天就为大家详细剖析下Handler的原理 Handler使用的原因 1.多线程更新Ui会导致UI界面错乱 2.如果...
【Android Handler机制】是Android应用程序中用于线程间通信的核心组件,它与Looper和Message紧密配合,实现消息的发送、处理以及线程间的同步。在Android应用开发中,尤其是涉及到UI更新时,Handler机制显得尤为...
Android Handler机制是Android系统中用于实现线程间通信的核心组件,尤其在UI线程与后台线程交互时起到至关重要的作用。Handler、Message、Looper、MessageQueue和ThreadLocal是其主要涉及的五个关键类。 首先,...
为什么要使用Handler呢?主要有两个原因: 一是线程安全问题,假如同时有两个线程对一个UI控件进行调整,那么控件自然就没法正常的工作。而Handler永远都是在UI主线程,这就意味着对一个控件的修改永远只会有一个...
在Android开发中,Handler是一种关键的组件,用于在主线程中处理来自其他线程的消息,实现线程间的通信。本文将深入解析Android Handler的消息派发机制源码,帮助开发者理解其内部工作原理。 首先,我们从`...
在Android开发中,`Handler` 是一个至关重要的组件,它用于在不同的线程间通信,尤其是在主线程(UI线程)与工作线程之间。`Handler.post()` 和 `Handler.sendMessage()` 都是用来发送消息到消息队列的,它们在本质...
在Android开发中,`Handler`、`Message`和`Looper`是实现线程间通信的重要机制,特别是当需要在主线程(UI线程)和工作线程之间传递数据时。本示例“Android Handler传值的demo”将帮助我们深入理解这一机制。 `...
Android中的Handler机制是Android应用开发中的核心组件之一,它与多线程、消息队列紧密相连,用于实现线程间的通信和任务的调度。Handler允许您将任务发送到特定的线程的队列中执行。一个典型的使用场景是在非UI线程...