当前位置: 首页 > news >正文

android-86-Can't create handler inside thread that has not called Looper.prepare()

以下是Android API中的一个典型的Looper thread实现:

//Handler不带参数的默认构造函数:new Handler(),实际上是通过Looper.myLooper()来获取当前线程中的消息循环,
//而默认情况下,线程是没有消息循环的,所以要调用 Looper.prepare()来给线程创建消息循环,然后再通过,Looper.loop()来使消息循环起作用。


class LooperThread extends Thread
{
public Handler mHandler;
public void run()
{
Looper.prepare();
mHandler = new Handler()
{
public void handleMessage(Message msg)
{
// process incoming messages here
}
};
Looper.loop();
}

另,Activity的MainUI线程默认是有消息队列的。所以在Activity中新建Handler时,不需要先调用Looper.prepare()。


http://blog.163.com/hqq133@126/blog/static/168747811201162041044112/

转载于:https://www.cnblogs.com/Ph-one/p/4702694.html

相关文章:

  • LM393,LM741可以用作电压跟随器吗?
  • android原生系统裁剪
  • 在ubuntu12.04下编译android4.1.2添加JNI层出现问题
  • android学习计划2
  • 1.linux下Kconfig编写规范
  • 2.linux下Makefile编写规范
  • 3.android下Makefile编写规范
  • 4.android.mk编写规范
  • 5.android系统裁剪
  • 2015/08/11博客园页面(自身)
  • 你们都是怎么阅读android系统源码的,用什么工具?
  • 深入浅出 - Android系统移植与平台开发(十一)- Android系统的定制(瘋耔修改篇一)...
  • 深入浅出 - Android系统移植与平台开发(十)- Android编译系统与定制Android平台系统(瘋耔修改篇二)...
  • andriod系统裁剪心得
  • init进程 解析Android启动脚本init.rc 修改它使不启动android init.rc中启动一个sh文件...
  • SegmentFault for Android 3.0 发布
  • exif信息对照
  • IDEA常用插件整理
  • JavaScript新鲜事·第5期
  • Java面向对象及其三大特征
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • Python实现BT种子转化为磁力链接【实战】
  • Solarized Scheme
  • WebSocket使用
  • 爱情 北京女病人
  • 成为一名优秀的Developer的书单
  • 简单基于spring的redis配置(单机和集群模式)
  • 如何编写一个可升级的智能合约
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • 微信小程序实战练习(仿五洲到家微信版)
  • 移动端解决方案学习记录
  • 用mpvue开发微信小程序
  • 第二十章:异步和文件I/O.(二十三)
  • (09)Hive——CTE 公共表达式
  • (java)关于Thread的挂起和恢复
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (二)fiber的基本认识
  • (二)Linux——Linux常用指令
  • (分布式缓存)Redis持久化
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • (原創) 如何刪除Windows Live Writer留在本機的文章? (Web) (Windows Live Writer)
  • (转)linux下的时间函数使用
  • (转)负载均衡,回话保持,cookie
  • .net core使用ef 6
  • .NET Framework 服务实现监控可观测性最佳实践
  • .NET 使用配置文件
  • @cacheable 是否缓存成功_让我们来学习学习SpringCache分布式缓存,为什么用?
  • @Not - Empty-Null-Blank
  • []Telit UC864E 拨号上网
  • [100天算法】-不同路径 III(day 73)
  • [Android实例] 保持屏幕长亮的两种方法 [转]
  • [ASP.NET MVC]如何定制Numeric属性/字段验证消息