Handler的解析和使用


1.handler为android中多线程间通信的一种机制,@1android中只允许在UI线程(主线程)操作或改变UI,其他线程不能操作UI。@2其他线程有刷新UI的需要,所以得告诉UI线程,这时候就用到Handler,在handeMessage方法中处理消息。@3handler可以定义在主线程也可以定义在其他线程,作用不一样。@4与handler执行相关的类:Handler,Message,MessageQueue,LooperUI线程:主线程,创建时会自动初始化一个Looper对象,也会创建一个消息队列Message:消息,其中包含了消息ID,消息处理对象以及处理的数据等,由MessageQueue统一列队,终由Handler处理。Handler:处理者,负责Message的发送及处理。使用Handler时,需要实现handleMessage(Message msg)方法来对特定的Message进行处理,例如更新UI等。MessageQueue:消息队列,用来存放Handler发送过来的消息,并按照FIFO规则执行。当然,存放Message并非实际意义的保存,而是将Message以链表的方式串联起来的,等待Looper的抽取。Looper:消息泵,不断地从MessageQueue中抽取Message执行。因此,一个MessageQueue需要一个Looper。Thread:线程,负责调度整个消息循环,即消息循环的执行场所。2.handler的使用@1用在主线程—1-定义Ha免费云主机域名ndler对象,重写handleMessage方法,在方法里面处理消息,更新UI—2-在其他 线程发送消息,有时需要自己定义消息对象@2handler定义在子线程,需要自己创建Looper对象—-流程:====1.调用Looper.prepare()为当前线程创建Looper对象,此时会自动创建MessageQueue消息队列;2.创建Handler对象,重写handleMessage方法;3.调用Looper.loop()方法启动Looper消息循环

相关推荐: linux中echo如何不换行

这篇文章主要介绍“linux中echo如何不换行”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“linux中echo如何不换行”文章能帮助大家解决问题。 在linux中,可以利用echo命令的“-n”参数来实现不换行;e…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 02/01 18:53
Next 02/01 18:53