android handler looper thread
在线程中调用包含创建handler方法的时候,会报错,提示:
“need call Looper.prepare()” -- 在创建之前,调用Looper.prepare()方法来创建一个looper
但是这个包含创建handler的方法,可能在主线程中调用,也可能在子线程中调用。
在主线程中调用的时候,你给它加上looper.prepare()方法,它可能会报错,提示:
“Only one Looper may be created per thread” -- 每个线程之中,只能有一个Looper
解决的办法:
        	if (Looper.myLooper() == null) {
			Looper.prepare();
		}
其中,Looper.myLooper()方法的返回值是当前线程的Looper对象,返回的是Null的时候,则需要通过Looper.prepare()方法创建Looper
可以对照Looper类的源码查看一下,即可。
android handler looper thread的更多相关文章
- android Handler、Thread和Runnable
		android里面的创建的Handler对象并不是新建一个新的线程,而是在主线程执行,主线程的消息队列中循环. java中实现一个线程有两种方法,一种是继承Thread类,一种是实现Runnable接 ... 
- android handler looper
		http://www.cnblogs.com/plokmju/p/android_Handler.html 
- Android 线程更新UI报错 : Can't create handler inside thread that has not called Looper.prepare()
		MainActivity中有一个按钮,绑定了save方法 public void save(View view) { String title = titleText.getText().toStri ... 
- Android handler 报错处理Can't create handler inside thread that has not called Looper.prepare()
		问题: 写了一个sdk给其他人用,提供一个回调函数,函数使用了handler处理消息 // handler监听网络请求,完成后操作回调函数 final Handler trigerGfHandler ... 
- Android进阶(十六)子线程调用Toast报Can't create handler inside thread that has not called Looper.prepare() 错误
		原子线程调用Toast报Can't create handler inside thread that has not called Looper.prepare() 错误 今天用子线程调Toast报 ... 
- Android Exception 13(Can't create handler inside thread that has not called Looper.prepare())
		10-12 17:02:55.500: E/AndroidRuntime(28343): FATAL EXCEPTION: Timer-2 10-12 17:02:55.500: E/AndroidR ... 
- Android进阶(八)Can't create handler inside thread that has not called Looper.prepare()
		Error:Can't create handler inside thread that has not called Looper.prepare() 原代码: //利用Handler消息传递机制 ... 
- Android 错误提示: Can't create handler inside thread that has not called Looper.prepare()
		Can't create handler inside thread that has not called Looper.prepare() 将 Handler handler = new Hand ... 
- Android之消息机制Handler,Looper,Message解析
		PS:由于感冒原因,本篇写的有点没有主干,大家凑合看吧.. 学习内容: 1.MessageQueue,Looper,MessageQueue的作用. 2.子线程向主线程中发送消息 3.主线程向子线程中 ... 
随机推荐
- Oracle游标循环更新数据案例
			declare v_XTXMBH number; v_ZJZJZJRQ varchar2(40); cursor c_job is SELECT XT.XTXMBH AS XTXMBH, QJ.ZJZ ... 
- Unity 对象池 生产 保存
			Unity对象池主要是保存那些常用的物体,避免他们在不断销毁和创造中损坏性能. 主要思路为:创造物体时,判断是否存在,如果存在则调用并使其显示.如果不存在则创造一个新的. 当销毁时,调用协程延时隐藏物 ... 
- ARM异常---一个Uart中断的触发处理过程:
			首先给出一些定义: //2440addr.inc INTOFFSET EQU 0x4a000014 ;Interruot request source offset //option.inc _ISR ... 
- VC++实现生成右键菜单及添加图标
			用VC++实现弹出菜单比较简单,这里介绍其中的一种来实现一个鼠标右键弹出菜单,效果如下图所示: 步骤: 一.新建一个基于对话框的MFC应用程序-----PopMenu 二.添加一个菜单资源------ ... 
- Java学习03
			Java学习03 1.java面试一些问题 一.什么是变量 变量是指在程序执行期间可变的数据.类中的变量是用来表示累的属性的,在编程过程中,可以对变量的值进行修改.变量通常是可变的,即值是变化的 二. ... 
- 在VS2010上使用C#调用非托管C++生成的DLL文件
			背景 在项目过程中,有时候你需要调用非C#编写的DLL文件,尤其在使用一些第三方通讯组件的时候,通过C#来开发应用软件时,就需要利用DllImport特性进行方法调用.本篇文章将引导你快速理解这个调用 ... 
- .net运行时和核心类库源码(部分源码)微软官方下载
			部分类库代码:http://referencesource.microsoft.com/download.html 运行时clr源码: http://www.microsoft.com/en-us/d ... 
- VS QT 配置OpenGL
			在visual studio 下编译OpenGL代码出现以下错误,原因是vs没有自带opengl库,需要自己引入 无法解析的外部符号 __imp__glClear@4 无法解析的外部符号 __imp_ ... 
- 51cto运维培训课程
			线路图: Linux运维架构师 基础提高篇(120课时) 基础提高篇(240课时) Linux系统基础及系统管理 Shell编程入门及进阶 linux安全管理和企业级安全防范策略 企业级集群/存储专题 ... 
- 将HDC保存为BMP文件
			HDC在MSDN中的全称为:The handle of device context.通常,我们都是用来做相应的显示操作. 熟悉WIN32的朋友对于其应该不会陌生,经常采用GetDC,G ... 
