handle的使用



1.消息队列仍绑定在主线程上,但在子线程中发送消息

此时可以在子线程中执行耗时操作,单因为handle是依附在主线程中的,所以handler的handleMessage方法中还是不能执行耗时操作

2.、将消息队列绑定到子线程上,主线程只管通过Handler往子线程的消息队列中投递消息即可。

此时通过

 HandlerThread myLooperThread = new HandlerThread("my looper thread");  

   myLooperThread.start();  

  Looper looper = myLooperThread.getLooper();  

  mHandler = new MyHandler(looper);  

HandlerThread实际上就一个Thread,只不过它比普通的Thread多了一个Looper。
创建HandlerThread时要把它启动了,即调用start()方法。然后创建Handler时将HandlerThread中的looper对象传入。
HandlerThread thread = new HandlerThread("MyHandlerThread");
thread.start();
mHandler = new Handler(thread.getLooper());
mHandler.post(new Runnable(){...});
那么这个Handler对象就是与HandlerThread这个线程绑定了(这时就不再是与UI线程绑定了,这样它处理耗时操作将不会阻塞UI)。

参考博客:http://blog.csdn.net/he90227/article/details/33335033

http://blog.sina.com.cn/s/blog_5da93c8f0101nreq.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值