handler要实现在一个线程之中发送消息,使用looper类处理消息队列的功能,默认的是UI主线程的looper,现在我们重写了handler,我们在这里做一个可以传入looper的构造函数,这样我们就可以把handler绑定到别的线程里了,再用这个handler发消息的话,都是在另外一个我们绑定的线程上处理了。要用到一个handlerthread类。这个类是集成looper、handler、和thread三个的一个类。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
init();
HandlerThread hThread=new HandlerThread("h_Thread");
hThread.start();
myhandler myhandler=new myhandler(hThread.getLooper());
Message msg=myhandler.obtainMessage();
msg.sendToTarget();//把 Message发送到目标对象,目标对象就是生成msg的目标对象。
}
class myhandler extends Handler{
public myhandler(){}
public myhandler(Looper looper){
super(looper);
}
public void handleMessage(Message msg) {
Log.e("这是新线程", "》》》》》》》》》》》》》》》》》新线程的测试");
}
}
分享到:
相关推荐
标题"android——多线程"和描述"android——Handler与多线程应用范例"暗示我们将深入探讨如何在Android中使用Handler来管理多线程。 Android系统默认运行在一个单线程环境中,即主线程,也被称为UI线程。主线程主要...
本文将深入探讨“Android Handler线程间的调度”这一主题,并结合提供的资源——MessageProject,来阐述相关知识点。 首先,Handler是Android中的一个关键类,它允许开发者在不同的线程之间发送和处理消息。Handler...
本资料包"安卓Android源码——安卓Android多线程断点续传下载+在线播放音乐.zip"提供了一个完整的示例,涵盖了多线程技术、断点续传下载以及音乐在线播放的关键知识点。现在,我们将详细探讨这些核心概念。 首先,...
本示例探讨了三种不同的方法——HandlerThread、AsyncTask以及Handler,它们都是用来在后台线程处理耗时操作并更新UI(主线程)的有效手段。下面我们将深入理解这三个概念及其在进度条更新中的应用。 首先,...
下面通过一个具体的例子来展示如何使用Handler在子线程中下载图片,并在主线程中更新UI显示这张图片。 ```java public class MainActivity extends AppCompatActivity { private static final String IMAGE_URL = ...
我们以一个具体的实例——"Android耗时操作Demo"为例,讲解如何在子线程中进行文件下载,并通过Handler更新UI中的进度条和弹出Dialog提示用户。 首先,我们需要理解Android的多线程概念。Android应用的主要交互发生...
这个压缩包“安卓Android源码——HandlerLooper2.rar”可能会包含对这些概念的实例解析,比如如何自定义`Handler`,如何在子线程中使用`Looper`,以及如何调试和优化消息传递等。通过学习这些源码,开发者可以更深入...
在Android系统中,主线程默认有一个运行的 `Looper`,而其他线程需要手动调用 `Looper.prepare()` 和 `Looper.loop()` 来启动消息循环。 创建和使用 `Handler` 的基本流程如下: 1. 在主线程中创建一个 `Handler` ...
每个线程都有一个`Looper`,默认情况下,主线程(UI线程)已经有一个运行的`Looper`,但子线程需要手动调用`Looper.prepare()`和`Looper.loop()`来启动循环。 创建一个`Handler`通常包括以下步骤: 1. 创建`Handler...
在Android开发中,线程管理是一项重要的任务,尤其是在处理耗时操作时,如网络请求、数据库操作或大计算量的任务。本篇文章将深入探讨如何合理地结束Android中的线程,以确保应用程序的性能和稳定性。 首先,理解...
综上所述,Android多线程断点下载涉及网络请求、多线程并发、文件操作、状态管理等多个方面,理解并掌握这些知识点对于Android开发者来说至关重要。通过分析提供的源码,开发者可以学习到实际的实现方式,从而在自己...
在Android开发中,`Handler`是一个至关重要的组件,主要用于处理线程间的通信,尤其是主线程(UI线程)与后台线程之间的数据交互。本文将详细介绍`Handler`的基本使用及其在更新UI中的应用。 首先,我们需要理解...
在Android开发中,多线程异步下载图片是一项常见的需求,尤其在开发涉及大量图片展示的应用时,如社交应用、电商应用等。这样的技术能够提高用户体验,避免UI卡顿,因为图片加载工作不会阻塞主线程。下面我们将深入...
Android提供了一个轻量级的异步任务类——`AsyncTask`,它非常适合进行短时间的后台操作,比如下载小图片。`AsyncTask`包含三个泛型参数:`Params`(输入参数),`Progress`(更新进度)和`Result`(返回结果)。在...
每个线程都有一个关联的 `Looper`,主线程默认已经启动了 `Looper` 循环,而子线程需要手动调用 `Looper.prepare()` 和 `Looper.loop()` 来启动。 在安卓应用中,我们常常在后台线程执行耗时任务,完成后通过 `...
- **后台任务**:当执行耗时操作如网络请求、数据加载时,可以通过创建一个新的线程并在其中使用Handler来处理这些任务,避免阻塞UI线程。 - **UI更新**:使用Handler可以在非UI线程中执行任务,并将结果传回UI线程...
在Android平台上,多任务多线程下载是一种常见的技术,它能显著提高下载效率,尤其是在处理大文件或多个文件时。这种技术充分利用了设备的处理器资源,使得多个下载任务可以同时进行,提高了用户等待时间的利用效率...
当应用程序需要执行耗时操作时,通常会创建一个新的线程(子线程)来处理这些任务,以避免阻塞主线程。 #### 三、消息机制的核心组件 Android的消息机制主要包括以下几个关键组件: 1. **Message**:消息的载体,...
在实际应用中,可以通过创建一个新的线程并为其准备Looper,然后在主线程中创建Handler并指定这个新线程的Looper。这样,Handler就可以在主线程和工作线程之间传递消息,实现异步操作。 例如,我们可以创建一个名为...
4. 线程管理:由于下载通常是一个耗时操作,我们通常会在后台线程进行,避免阻塞主线程。Android的AsyncTask、IntentService或者Handler/Looper机制都可以用来实现后台下载。 5. 数据持久化:为了在应用关闭后还能...