1 、使用

HandlerThread handlerThread = new HandlerThread("handlerThread");
handlerThread.start();  //这里获取到HandlerThread的runloop
MyHandler myHandler = new MyHandler(handlerThread.getLooper()); 

2、介绍

和主线程已经没有关系了,所以不能跟新UI,我们可以使用myHandler.post(Runable runable)来处理
 

3、注意退出

终止Android中HandlerThread的方法
如果我们在 activity中start了一个HandlerThread,那么这个线程会启动一个looper消息循环,当activity退出了,这个HandlerThread线程并没有终止,还是在那里做looper死循环,这当然不是我们愿意看到的,多个线程占用资源,进程会出现crash.

  我们希望,当HandlerThread已经没有利用价值的时候,将它停止掉,这样进程中就会少一个线程,起到了提高程序运行效率的作用。

  那么如何停止一个已经启动了的HandlerThread呢?

  看看 Looper.loop()的核心代码:

  while (true) { Message msg

Android之使用HandlerThread 以及如何退出总结相关推荐

  1. Android 系统(152)---Android多线程:HandlerThread详细使用手册

    Android多线程:HandlerThread详细使用手册 前言 多线程的应用在Android开发中是非常常见的,常用方法主要有: 继承Thread类 实现Runnable接口 Handler As ...

  2. Android 关于长按back键退出应用程序的实现

    Android 关于长按back键退出应用程序的实现 最近在做一个Android上的应用,碰到一个问题就是如何实现长按back键退出应用程序.在网上查找了很多资料,发现几乎没有这样的实现,大部分在处理 ...

  3. android 自定义 theme,Android使用Theme自定义Activity进入退出动画的方法

    本文实例讲述了Android使用Theme自定义Activity进入退出动画的方法.分享给大家供大家参考,具体如下: 有没有觉得Activity的默认动画太快了或者太难看了.. 我原来使用Activi ...

  4. Android:销毁所有的Activity退出应用程序几种方式

    Android:销毁所有的Activity退出应用程序几种方式 author:DRC工作室 我们都知道,Activity是存放在栈中.在默认的情况下(standard)Activity在栈中是以先进后 ...

  5. android handlerthread 线程管理,Android必读之HandlerThread

    HandlerThread是Thread的子类,主要特点就是为我们主动封装了Looper,这样我们就可以和Handler结合在一起使用,利用Handler的消息机制原理为我们更加有序高效的管理Thre ...

  6. android handlerthread 线程管理,Android线程之HandlerThread

    概述 HandlerThread是Thread的一个子类,是Android中提供的另一种线程形态. Handy class for starting a new thread that has a l ...

  7. android使用webview时按后退退出的问题

    使用webview打包图片站点http://www.gg4493.cn,代码都好了,具体如下 public class MainActivity extends ActionBarActivity { ...

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

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

  9. Android中再按一次退出实现

    很多应用中都有一个在用户后退的时候显示"再按一次退出"的提醒,这个怎么实现呢?有两种方式 第一种方式(最常用) long waitTime = 2000; long touchTi ...

最新文章

  1. Oracle Sequence用plsql修改
  2. GIVE_A_TRY.exe 逆向(NCK逆向初级第9,10,11课作业)
  3. #define 和 const 区别
  4. boost::callable_traits添加member左值引用
  5. MarkdownPad安装以及绘制 UML 图
  6. 【C#程序设计】教学讲义——第三章:C#语言基础
  7. MongoDb 大数据查询优化、 MongoDB 索引、复合索引、唯一索引、 explain 分 析查询速度
  8. Linux系统编程4:入门篇之最强编辑器vim的使用攻略
  9. python线程执行完后释放内存_Python中的线程终止与内存释放
  10. 设计一款知识性产品需要考虑十二个基本问题
  11. 程序员面试金典——9.8硬币表示
  12. dmg为什么下载成php,解答:dmg是什么意思,dmg文件如何打开,及怎么把dmg转换成iso
  13. 操作系统原理1-3章答案 黑新宏 胡元义主编
  14. 开挂?16岁保送北大、MIT量子计算机博士是这样玩转区块链的!
  15. mybatis中实现动态SQL
  16. Tui-editor富文本编辑器的使用
  17. 学C++和嵌入式,未来发展好不好?
  18. windows双网卡,双网关同时使用内网,外网设置
  19. MakeItTalk用一段语音让一张照片动起来
  20. RC522详解(RC522arduino读写函数的详细解析)

热门文章

  1. 近业务=困死在一条船上?
  2. 趣味图解+源码分析,轻松吃透Linux
  3. 一日一技:Ocelot网关使用IdentityServer4认证
  4. 池化对象 RecyclableMemoryStream 在 .netcore 中的使用
  5. BeetleX框架详解-小结
  6. MassTransit Get Started-
  7. 掌握了Docker Layer Caching才敢自称精通Dockerfile
  8. Asp.Net Boilerplate微服务实战(一)概述
  9. 2019 amazingdotnet 公众号回顾
  10. 【.NETCore 3】Ids4 ║ 统一角色管理(上)