使用 HandlerThread
使用 HandlerThread
Android 提供了一个便捷的线程类 HandlerThread ,此类自带了一个Looper ,可以实现跨线程通信的功能(至少我是这么使用的 :)23333 )
使用方法
Step 1 :
当然是先创建一个此类对象了
HandlerThread mHandlerThread = new HandlerThread();
Step 2 :
在创建Handler前一定要先将 mHandlerThread.start()开启一个线程
mHandlerThread.start()
Step 3 :
创建一个Handler 给 mHandlerThread ,我们知道handler 最终处理Message时是在他构造方法中传入的Looper的所有者所在的线程,有点绕哈
简单的说, handler 关联的 Looper 是哪个线程的,handler就在哪个线程处理 Message
mHandlerThread.start();Handler mHandler = new Handler (mHandlerThread.getLooper());
Step 4 :
就是Handler那一套,重写 handlerMessage ,发任务的线程 sendMessage
@overridepublic void handleMessage(Message msg) {switch(msg.what){case:xxxbreak;}
}
//发任务的线程
mHandler.sendEmptyMessage(xxx);
注意使用后为了避免内存泄漏
手动清空一次message
retryLocationHandler.removeCallbacksAndMessages(null);
使用 HandlerThread相关推荐
- HandlerThread和IntentService源码解析
简介 首先我们先来了解HandlerThread和IntentService是什么,以及为什么要将这两者放在一起分析. HandlerThread: HandlerThread 其实是Handler ...
- Handler消息机制(十):HandlerThread源码解析
作为Android开发者都知道在子线程中使用Handler必须要创建Looper,其实HandlerThread就是在线程中封装了Looper的创建和循环,不用我们开发者自己去创建它,下面我们来看看源 ...
- 【Android 异步操作】HandlerThread 示例 ( 初始化并执行 | 获取Looper | 获取 Handler | 获取消息队列 | 设置空闲队列 | 代码示例 )
文章目录 一.HandlerThread 初始化 二.HandlerThread 获取Looper 三.HandlerThread 获取消息队列 MessageQueue 四.HandlerThrea ...
- 【Android 异步操作】Handler 机制 ( Handler 常用用法 | HandlerThread 简介 | HandlerThread 源码注释分析 )
文章目录 一.Handler 常用用法 二.HandlerThread 简介 三.HandlerThread 源码 一.Handler 常用用法 主线程 Handler 主要作用 : Looper 和 ...
- Handler-接受子线程数据更新UI主线程;非主线程通信--HandlerThread
一.定义 主要接受子线程发送的数据, 并用此数据配合主线程更新UI. 解释: 当应用程序启动时,Android首先会开启一个主线程 (也就是UI线程) , 主线程为管理界面中的UI ...
- Java高并发编程:HandlerThread
1. HandlerThread的使用 继承自Thread,在run()方法中,执行了Looper.prepare()和Looper.loop(),和handler结合使用,实现后台轮询线程功能 st ...
- 安卓开发之Handler、HandlerThread学习篇
安卓开发之Handler.HandlerThread学习心得篇 开篇说明:本文采用的都是最基础最简单的例子,目的只有一个:希望大家将学习的焦点放在Handler的理解和使用上,我不 ...
- HandlerThread原理与应用
HandlerThread 在理解了Handler的原理之后,我们知道在一个子线程中创建一个Handler不能缺少了Looper.prepare()和Looper.loop()两个方法,具体的原因这 ...
- HandlerThread 类的学习(转载)
HandlerThread继承于Thread,所以它本质就是个Thread.HandlerThread类用于方便的创建一个含有looper的线程类,looper用来创建handler类.我们一般不创建 ...
- android service使用handle,android中对Looper、HandlerThread、IntentService的理解及使用方法...
消息队列处理模型 容器保存事件,队列 涉及到角色: 类 功能 MessageQueue 存放消息 Looper 轮循消息队列,从中取出消息 Thread 处理消息 Message 消息 Handler ...
最新文章
- 【莓闻】2009年黑莓增长显著 智能手机领域第一
- 前端二十九:两个盒子居中的练习
- MongoDB空间分配
- NOj 720项目安排
- js对象、构造函数、命名空间、方法、属性
- ctypes python_Python ctypes 使用总结
- Javascript 引擎工作机制(js层面梳理)
- 使用MvcContrib的FormHelper
- JavaScript萌新基础
- Gradle2.0用户指南翻译——第二章. 概述
- 使用聚集函数汇总数据
- CI 里去掉index.php 并 识别css js 文件 技巧
- Mac电脑Docker拉取Mysql报错?no matching manifest for linux/arm64/v8 in the manifest list entries
- 微软 Windows 10 将支持 8 英寸以下 ARM 平板设备
- 非模块化jar的模块化转换
- H5点餐系统,微信公众号H5
- 计算机操作和电子技术应用,电子技术应用是学什么
- 应用程序开发选择工具应注重运行效率还是易用性
- 大数据教程(10.5)运营商流量日志解析增强
- OneZero第四周第一次站立会议(2016.4.11)
热门文章
- 阿里CTO:阿里是世界领先的大数据公司
- 2014年1月31日 城镇化忧思
- 评论列表模板 html代码,组件案例-评论列表.html
- asp毕业设计——基于asp+sqlserver的WEB社区论坛设计与实现(毕业论文+程序源码)——社区论坛
- 昨天听了CSDN俱乐部潘老师的讲座,感触很深!
- 【破解教程】PE文件格式详解(上)
- 《华清远见学习手记》之 网络五子棋游戏QT类的设计与实现 (4)
- epic转移游戏_游戏日报:王者荣耀开放苹果/安卓数据迁移服务;王思聪回应陪玩报价“谁点谁血赚”...
- 我写了 ahooks 源码分析系列,收到官方邀请我一起维护,这是一次提 PR 的记录...
- 架构师学习笔记(五)高效赋能-如何讲好一节课(上)