handlerthread使用 android2 handler, HandlerThread的联合使用

handlerthread使用 android2 handler, HandlerThread的联合使用

android中 handler, HandlerThread的联合使用

handler是什么东西,知道英文的都知道handle的意思就是处理,那么handler就是处理者的意思,那么这个处理者处理什么东西呢?他处理的是他自己发到消息队列里的消息。首先当然他要先发消息A到队列中,当handler把消息A往那队列一扔就可以去干其他事情而不用一直等A消息出列,消息到了队列之后就会排队,那管理这条消息队列总得有个对象吧,那就是我们所说的loop对象了,loop在那一站,消息队列就在运行了。当A消息出列时,系统就会通知发这个消息的handler,哥们快来处理你的消息,然后handler对象就会在他的函数handleMessage()中处理这个消息,例如打印这个消息什么的。

???? 当handler对象在activity中使用时,实际上他跟UI主线程位于同一个线程,那这样就不好了,如果handler处理消息很慢,那UI线程不就慢死了,所以我们需要另外创建一个线程,例如创建一个线程就是通过以下语句:

?
HandlerThread handlerThread=new HandlerThread("wenfeng");?
handlerThread.start();? Myhandler myhandler=new
Myhandler(handlerThread.getLooper());

首先创建一个HandlerThread对象,对象名就为wenfeng了,然后运行handlerThread.start();方法,实际上此时就是产生一个looper队列管理者,然后再创建一个Handler对象的子类,传入管理者looper。

源代码:

import
android.app.Activity;import android.os.Bundle;import
android.os.Handler;import android.os.HandlerThread;import
android.os.Looper;import android.os.Message;import
android.widget.Button;import android.widget.ProgressBar;import
android.widget.TextView;public class Layout04 extends Activity {?? ?int
i=0;?? ?TextView mytTextView;??? Button? mybButton;??? ProgressBar
mybar;??? /** Called when the activity is first created. */???
@Override??? public void onCreate(Bundle savedInstanceState) {???????
super.onCreate(savedInstanceState);??????
setContentView(R.layout.main);?????? HandlerThread handlerThread=new
HandlerThread("wenfeng");?????? handlerThread.start();?????? Myhandler
myhandler=new Myhandler(handlerThread.getLooper());?????? Message
msg=new Message();?? //消息???? Bundle bl=new Bundle();???????
//Bundle键值对??????? bl.putString("name", "caisixing");???
msg=myhandler.obtainMessage();//handler获取一个消息容器,这样才可以向里面填充内容??????
msg.setData(bl);?????????? //消息为bundle的内容?????
msg.sendToTarget();???????? //将消息仍到队列中去???? }class Myhandler extends
Handler{? ? public Myhandler(Looper looper){????? //构造方法?? ??? ??
super(looper);?? ?? }?? ?? @Override?? ?? public void
handleMessage(Message msg) {????? //处理消息,打印消息内容?? ??? ?Bundle bl2=new
Bundle();? ? ?? bl2=msg.getData();?? ??? ?System.out.println("name is
"+bl2.getString("name"));?????? ?? }? }}

android2 handler, HandlerThread的联合使用_handlerthread

  

爱华网本文地址 » http://www.413yy.cn/a/8104080103/173469.html

更多阅读

亚太平衡战略 “平衡的联合品牌战略”较难成功

品牌战略架构往往是企业牵一发而动全身的战略大事,正所谓“失之毫厘,谬之千里”。品牌架构决策水平的高低会大大影响企业的经营效果,导致企业巨大利益的得与失,甚至企业的命运,企业必须予以高度重视。实践中,“平衡的联合品牌战略”较难

小家电促销方案 康佳美的小家电的联合促销活动策划纪实

 策划的背景:      2005年中国市场开启了平板电视(LCD液晶、PDP等离子)元年。面对价格一轮又一轮的降低,“价格战”再次在国产彩电领域内打响。去年年底SONY终于也按捺不住中国平板市场的诱惑,在洋品牌阵营中率先降价,高调迎接中国

报刊订阅 报刊订阅的联合营销

“无邮不稳,无零不活”是期刊发行中常说的一句话,是指没有邮局订阅数量的杂志发行量就不会稳定,没有零售市场的杂志则就没有灵活的市场表现力。有了固定的读者群和订阅数量,杂志的发展才会有根本性的保障,也是杂志得以生存和发展的基础

经销商生意倍增的秘密:海樽公司的联合之路

【从一个笑话说开去】    青蛙夫妇生孩子了,青蛙爸爸兴奋的看了一眼自己的孩子之后,恼怒的质问青蛙妈妈:“你说,我们的孩子为什么是个癞蛤蟆?!”青蛙妈妈委屈的说:“亲爱的抱歉,我忘记告诉你了,我以前整过容”。

声明:《handlerthread使用 android2 handler, HandlerThread的联合使用》为网友等闲人分享!如侵犯到您的合法权益请联系我们删除