package com.lilin.looper;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.HandlerThread;
import android.os.Looper;
import android.os.Message;
/**
* 使用Looper来处理消息队列
*
* @author lilin
* @date 2011-8-10 上午09:03:32
* @ClassName: HandlerTest2
* @Description: TODO
*/
public class HandlerThreadDemo extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
System.out.println("当前Activity的ID-->" + Thread.currentThread().getId());
HandlerThread handlerThread = new HandlerThread("handler_thread"); // 生成一个HandlerThread对象,实现了使用Looper来处理消息队列的功能,这个类由Android应用程序框架提供
handlerThread.start();// 在使用HandlerThread的getLooper()方法之前,必须先调用该类的start();
MyHandler myHandler = new MyHandler(handlerThread.getLooper());
Message msg = myHandler.obtainMessage();
Bundle b = new Bundle();
b.putInt("age", 20);
b.putString("name", "Jhon");
msg.setData(b);// 将数据存放到Message中
msg.sendToTarget();// 将msg发送到目标对象,所谓的目标对象,就是生成该msg对象的handler对象
}
class MyHandler extends Handler {
public MyHandler() {
}
public MyHandler(Looper looper) {
super(looper);
}
@Override
public void handleMessage(Message msg) {
Bundle b = msg.getData();// 从Message中获得数据
int age = b.getInt("age");
String name = b.getString("name");
System.out.println("age is " + age + ", name is" + name);
System.out.println("Handler的ID-->" + Thread.currentThread().getId());
}
}
}
分享到:
相关推荐
通过一个demo说明HandlerThread 的使用
Android HandlerThread使用方法详解 HandlerThread 继承自Thread,内部封装了Looper。 首先Handler和HandlerThread的主要区别是:Handler与Activity在同一个线程中,HandlerThread与Activity不在同一个线程,而是别外...
HandlerThread的使用与自定义HandlerThread 使用过程中常见的问题,以及为什么要使用
HandlerThread的使用demo,具体介绍请点击http://blog.csdn.net/u011315960/article/details/70174217
android HandlerThread 实例,介绍HandlerThread的实现方法。HandlerThread使用很方便,主要用于需要常驻在程序的线程。
主要介绍了深入Android HandlerThread 使用及其源码完全解析,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
HandlerThread的使用以及注意事项
//生成一个HandlerThread对象,实现了 使用Looper来处理消息队列的功能 HandlerThread handlerThread = new HandlerThread("handler_thread"); //在使用HandlerThread的getLooper()方法之前,必须先调用该类的...
自己使用资源; 自己理解:1、给线程传参数;2、可处理多线程
handlerthread做线程同步的操作
Looper、Handler与HandlerThread相关概念与简介
有关于Handler、HandlerThread、AsyncTask消息处理机制的相关Demo代码
详见http://blog.csdn.net/huaxun66/article/details/52842118
主要为大家详细介绍了Android HandlerThread的使用及原理,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
一个防止ANR错误HandlerThread多线程解决耗时操作的源码程序20210525记录学习
Android线程,线程池,AsyncTask,HandlerThread和IntentService的用法demo
本篇文章主要给大家介绍了Android HandlerThread使用介绍以及源码解析,有需要的朋友参考学习下吧。