使用 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相关推荐

  1. HandlerThread和IntentService源码解析

    简介 首先我们先来了解HandlerThread和IntentService是什么,以及为什么要将这两者放在一起分析. HandlerThread: HandlerThread 其实是Handler ...

  2. Handler消息机制(十):HandlerThread源码解析

    作为Android开发者都知道在子线程中使用Handler必须要创建Looper,其实HandlerThread就是在线程中封装了Looper的创建和循环,不用我们开发者自己去创建它,下面我们来看看源 ...

  3. 【Android 异步操作】HandlerThread 示例 ( 初始化并执行 | 获取Looper | 获取 Handler | 获取消息队列 | 设置空闲队列 | 代码示例 )

    文章目录 一.HandlerThread 初始化 二.HandlerThread 获取Looper 三.HandlerThread 获取消息队列 MessageQueue 四.HandlerThrea ...

  4. 【Android 异步操作】Handler 机制 ( Handler 常用用法 | HandlerThread 简介 | HandlerThread 源码注释分析 )

    文章目录 一.Handler 常用用法 二.HandlerThread 简介 三.HandlerThread 源码 一.Handler 常用用法 主线程 Handler 主要作用 : Looper 和 ...

  5. Handler-接受子线程数据更新UI主线程;非主线程通信--HandlerThread

    一.定义 主要接受子线程发送的数据, 并用此数据配合主线程更新UI.           解释: 当应用程序启动时,Android首先会开启一个主线程 (也就是UI线程) , 主线程为管理界面中的UI ...

  6. Java高并发编程:HandlerThread

    1. HandlerThread的使用 继承自Thread,在run()方法中,执行了Looper.prepare()和Looper.loop(),和handler结合使用,实现后台轮询线程功能 st ...

  7. 安卓开发之Handler、HandlerThread学习篇

    安卓开发之Handler.HandlerThread学习心得篇           开篇说明:本文采用的都是最基础最简单的例子,目的只有一个:希望大家将学习的焦点放在Handler的理解和使用上,我不 ...

  8. HandlerThread原理与应用

    HandlerThread  在理解了Handler的原理之后,我们知道在一个子线程中创建一个Handler不能缺少了Looper.prepare()和Looper.loop()两个方法,具体的原因这 ...

  9. HandlerThread 类的学习(转载)

    HandlerThread继承于Thread,所以它本质就是个Thread.HandlerThread类用于方便的创建一个含有looper的线程类,looper用来创建handler类.我们一般不创建 ...

  10. android service使用handle,android中对Looper、HandlerThread、IntentService的理解及使用方法...

    消息队列处理模型 容器保存事件,队列 涉及到角色: 类 功能 MessageQueue 存放消息 Looper 轮循消息队列,从中取出消息 Thread 处理消息 Message 消息 Handler ...

最新文章

  1. 【莓闻】2009年黑莓增长显著 智能手机领域第一
  2. 前端二十九:两个盒子居中的练习
  3. MongoDB空间分配
  4. NOj 720项目安排
  5. js对象、构造函数、命名空间、方法、属性
  6. ctypes python_Python ctypes 使用总结
  7. Javascript 引擎工作机制(js层面梳理)
  8. 使用MvcContrib的FormHelper
  9. JavaScript萌新基础
  10. Gradle2.0用户指南翻译——第二章. 概述
  11. 使用聚集函数汇总数据
  12. CI 里去掉index.php 并 识别css js 文件 技巧
  13. Mac电脑Docker拉取Mysql报错?no matching manifest for linux/arm64/v8 in the manifest list entries
  14. 微软 Windows 10 将支持 8 英寸以下 ARM 平板设备
  15. 非模块化jar的模块化转换
  16. H5点餐系统,微信公众号H5
  17. 计算机操作和电子技术应用,电子技术应用是学什么
  18. 应用程序开发选择工具应注重运行效率还是易用性
  19. 大数据教程(10.5)运营商流量日志解析增强
  20. OneZero第四周第一次站立会议(2016.4.11)

热门文章

  1. 阿里CTO:阿里是世界领先的大数据公司
  2. 2014年1月31日 城镇化忧思
  3. 评论列表模板 html代码,组件案例-评论列表.html
  4. asp毕业设计——基于asp+sqlserver的WEB社区论坛设计与实现(毕业论文+程序源码)——社区论坛
  5. 昨天听了CSDN俱乐部潘老师的讲座,感触很深!
  6. 【破解教程】PE文件格式详解(上)
  7. 《华清远见学习手记》之 网络五子棋游戏QT类的设计与实现 (4)
  8. epic转移游戏_游戏日报:王者荣耀开放苹果/安卓数据迁移服务;王思聪回应陪玩报价“谁点谁血赚”...
  9. 我写了 ahooks 源码分析系列,收到官方邀请我一起维护,这是一次提 PR 的记录...
  10. 架构师学习笔记(五)高效赋能-如何讲好一节课(上)