普通的handler类是没有实现多线程的,在android中的handler要实现多线程,可以使用HandlerThread这个类,如下所示

package com.handlerThread;import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.HandlerThread;
import android.os.Looper;
import android.os.Message;public class handlerThread2 extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stub
        super.onCreate(savedInstanceState);setContentView(R.layout.main);System.out.println("activity线程ID:"+Thread.currentThread().getId());HandlerThread handlerThread = new HandlerThread("handlerThread");handlerThread.start();MyHandler handler = new MyHandler(handlerThread.getLooper());Message msg = handler.obtainMessage();msg.sendToTarget();}class MyHandler extends Handler {public MyHandler() {super();// TODO Auto-generated constructor stub
        }public MyHandler(Looper looper) {super(looper);// TODO Auto-generated constructor stub
        }@Overridepublic void handleMessage(Message msg) {// TODO Auto-generated method stub
            super.handleMessage(msg);System.out.println("handler线程ID:"+Thread.currentThread().getId());}}}

运行结果:

由此才可以说handler实现了真正意义上的多线程。

在上面的程序中我们看到有个新知识looper,那么什么是looper呢,如下是官方的解释

大概的意思就是说,looper是用来循环获取消息的,那么整个流程就可以看作是handler往消息队列中添加消息,looper再循环获取这些消息。

Android handler相关推荐

  1. Android Handler介绍

    本文转自:http://www.cnblogs.com/keyindex/articles/1822463.html 前言 学习android一段时间了,为了进一步了解android的应用是如何设计开 ...

  2. Android Handler的使用!!!

    大家好我们这一节讲的是Android Handler的使用,在讲Handler之前,我们先提个小问题,就是如何让程序5秒钟更新一下Title. 首先我们看一下习惯了Java编程的人,在不知道Handl ...

  3. Android Handler与Looper原理简析

    一直感觉自己简直就是一个弱智,最近越来越感觉是这样了,真的希望自己有一天能够认同自己,认同自己. 本文转载于:https://juejin.im/post/59083d7fda2f60005d14ef ...

  4. 详解Android Handler的使用

    我们进行Android开发时,Handler可以说是使用非常频繁的一个概念,它的用处不言而喻.本文就详细介绍Handler的基本概念和用法. Handler的基本概念           Handle ...

  5. Android handler Thread 修改UI Demo

    /*********************************************************************** Android handler Thread 修改UI ...

  6. android handler.removeCallbacksAndMessages(null)的使用

    今天,简单讲讲android如何使用  handler.removeCallbacksAndMessages(null). 这个其实很简单,之前我也写了一篇博客将关于handler.removeM ...

  7. android handler 的removeMessages的使用

    今天,简单讲讲android里如何使用handler的removeMessages函数. 这个很简单,之前自己也一致在使用,所以这里记录一下. 具体的如下: removeMessages会将handl ...

  8. epoll监听文件_介绍一下 Android Handler 中的 epoll 机制?

    介绍一下 Android Handler 中的 epoll 机制? 目录: IO 多路复用 select.poll.epoll 对比 epoll API epoll 使用示例 Handler 中的 e ...

  9. android message 代码,Android Handler移除Message详解及实例代码

    Android Handler移除Message详解 问题: 1.removeMessage(what)函数是否只能移除对应what值的Message? 2.对于Delayed发送的Message,能 ...

  10. android Handler的使用(一)

    Handler的使用(一) Handler基本概念: Handler主要用于异步消息的处理:当发出一个消息之后,首先进入一个消息队列,发送消息的函数即刻返回,而另外一个部分逐个的在消息队列中将消息取出 ...

最新文章

  1. 项目经理应该具备的技能
  2. 谷歌的硬件梦:Pixel手机、ChromeOS平板和Home音箱
  3. shell输出加颜色
  4. linux device注册
  5. 笔记本电脑自带麦克风吗_小米电视可以唱歌吗
  6. 进程、线程和协程之间的区别和联系
  7. java正则匹配英文句号_「正则表达式」王国奇遇记
  8. miui11未升级android版本,MIUI 11稳定版正式推送,升级前你需要了解
  9. 利用bds和dfs解决 LeetCode 107. Binary Tree Level Order Traversal II
  10. 干货!Redis集群工作原理解析
  11. 什么是 WebAssembly?
  12. 极客先锋 如何生成git的公钥和私钥
  13. 发送HTTP请求返回415状态码的解决办法
  14. mysql的哈希函数_mysql – 密码哈希函数抛出错误1146
  15. 基于ssh人事考勤管理系统
  16. STM32 系列产品命名规则 - 《STM32中文参考手册_V10》
  17. EDEM及Fluent的耦合
  18. python 查找excel标红的数据_excel表格如何快速给数据标红-如何将查找出的excel内容批量标记为红色?...
  19. 内集理论是处理非标准分析的新方法
  20. matlab dwt函数应用,MATLAB中关于DCT,DFT和DWT的相关函数

热门文章

  1. 马斯克成功把人从太空送回地球!历时64天,SpaceX首次载人任务圆满收工
  2. 计算机技能最新需求排名:Python增速爆炸,SQL和Java老当益壮,AWS令人惊讶
  3. 第四次作业---四则运算升级版(带可视化界面)
  4. java的list类
  5. docker管理平台 shipyard安装
  6. Spring读书笔记——bean创建(下)
  7. 面向对象笔记2 原型链 解释
  8. [Android] Handler源码解析 (Java层)
  9. 配置浮动路由,实现链路冗余
  10. Java字符编码根本原理