android Thread

     安卓平台中多线程应用很广泛,在ui更细、游戏开发和耗时处理(网络通信)等方法都需要多线程。

 1、在android中线程广泛应用,但是有严格的限制。这种限制表现在2个方法:

   a.在 Android ui中能够更新UI元素的线程必须是创建它的线程,而不是其他的线程。

   

    异常会出现在labelTimer。setText 语句,labelTimer是一个TextView控件,更细TextView控件等UI元素必须由创建它的线程更新

 而不能在其他线程中更新。

     

 

   b.在UI等主线程中不能进行网络通信等耗时的处理,必须由一个子线程负责处理,这个是3.0后新追加的。

 

 Handler 和Message

  

 Handler 和Message使用比较多

  Handle是用来处理多个线程直接通信的工具类,Message是在线程间发送信息。

  android.os.Message类有一个obj属性可以携带任可序列化的对象,what属性是制定一个标志,接收

线程方可以通过这个what字段判断是那个线程发送过来的消息。

   android.os.Handle 对象可以通过下面的方法发送信息:

   sendEmptyMessage(int),发送1条空消息

   sendMessage(Message),发送消息,可携带参数

    sendMessageAtTime(Message,long), 未来某一时间点发送消息

    sendMessageDelayed(Message,long),延时N毫秒发送消息

  一个线程发出消息后,另外的线程要接收消息,接收消息是通过重写Handle类的HandleMessage(Message)

 实现的,更新UI元素的HandleMessage(Message)。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值