Android handler
普通的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相关推荐
- Android Handler介绍
本文转自:http://www.cnblogs.com/keyindex/articles/1822463.html 前言 学习android一段时间了,为了进一步了解android的应用是如何设计开 ...
- Android Handler的使用!!!
大家好我们这一节讲的是Android Handler的使用,在讲Handler之前,我们先提个小问题,就是如何让程序5秒钟更新一下Title. 首先我们看一下习惯了Java编程的人,在不知道Handl ...
- Android Handler与Looper原理简析
一直感觉自己简直就是一个弱智,最近越来越感觉是这样了,真的希望自己有一天能够认同自己,认同自己. 本文转载于:https://juejin.im/post/59083d7fda2f60005d14ef ...
- 详解Android Handler的使用
我们进行Android开发时,Handler可以说是使用非常频繁的一个概念,它的用处不言而喻.本文就详细介绍Handler的基本概念和用法. Handler的基本概念 Handle ...
- Android handler Thread 修改UI Demo
/*********************************************************************** Android handler Thread 修改UI ...
- android handler.removeCallbacksAndMessages(null)的使用
今天,简单讲讲android如何使用 handler.removeCallbacksAndMessages(null). 这个其实很简单,之前我也写了一篇博客将关于handler.removeM ...
- android handler 的removeMessages的使用
今天,简单讲讲android里如何使用handler的removeMessages函数. 这个很简单,之前自己也一致在使用,所以这里记录一下. 具体的如下: removeMessages会将handl ...
- epoll监听文件_介绍一下 Android Handler 中的 epoll 机制?
介绍一下 Android Handler 中的 epoll 机制? 目录: IO 多路复用 select.poll.epoll 对比 epoll API epoll 使用示例 Handler 中的 e ...
- android message 代码,Android Handler移除Message详解及实例代码
Android Handler移除Message详解 问题: 1.removeMessage(what)函数是否只能移除对应what值的Message? 2.对于Delayed发送的Message,能 ...
- android Handler的使用(一)
Handler的使用(一) Handler基本概念: Handler主要用于异步消息的处理:当发出一个消息之后,首先进入一个消息队列,发送消息的函数即刻返回,而另外一个部分逐个的在消息队列中将消息取出 ...
最新文章
- 项目经理应该具备的技能
- 谷歌的硬件梦:Pixel手机、ChromeOS平板和Home音箱
- shell输出加颜色
- linux device注册
- 笔记本电脑自带麦克风吗_小米电视可以唱歌吗
- 进程、线程和协程之间的区别和联系
- java正则匹配英文句号_「正则表达式」王国奇遇记
- miui11未升级android版本,MIUI 11稳定版正式推送,升级前你需要了解
- 利用bds和dfs解决 LeetCode 107. Binary Tree Level Order Traversal II
- 干货!Redis集群工作原理解析
- 什么是 WebAssembly?
- 极客先锋 如何生成git的公钥和私钥
- 发送HTTP请求返回415状态码的解决办法
- mysql的哈希函数_mysql – 密码哈希函数抛出错误1146
- 基于ssh人事考勤管理系统
- STM32 系列产品命名规则 - 《STM32中文参考手册_V10》
- EDEM及Fluent的耦合
- python 查找excel标红的数据_excel表格如何快速给数据标红-如何将查找出的excel内容批量标记为红色?...
- 内集理论是处理非标准分析的新方法
- matlab dwt函数应用,MATLAB中关于DCT,DFT和DWT的相关函数