问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

android 怎么循环处理消息

发布网友 发布时间:2024-10-09 15:19

我来回答

1个回答

热心网友 时间:2024-10-13 10:50

下面和大家分享一下android中非常重要的消息处理机制,说到消息处理,Message,MessageQueue,Looper,Handler这四个类的作用是我们必须要明白的。

下面分别谈谈他们的作用:

MessageQueue

MessageQueue表示消息队列,存放消息的地方,按照“先进先出”的规则执行,每一个线程只可以拥有一个MessageQueue。当创建Looper对象的时候会创建一个MessageQueue对象。

Message

Message表示消息对象,MessageQueue中存放的对象,一个MessageQueue中可以存放多个Message对象。通过调用Message类的obtain()方法或者调用Handler类的obtainMessage()方法获取Message对象,但是这样并不一定会创建一个新的Message对象,如果消息池中有可用的Message对象则直接取出返回这个对象,否则如果消息池中没有可用的Message对象,则会创建一个新的Message对象。当消息队列中的Message对象被系统处理完之后,该Message对象会从MessageQueue中删除,然后放入消息池中。

Looper

Looper是用来操作MessageQueue的,每一个Looper对应一个MessageQueue,可以通过调用Looper.myLooper()方法获取当前线程的Looper对象,Looper循环从MessageQueue中取出Message对象,交给Handler调用handleMessage方法进行处理,处理完之后Message对象被放入消息池中。

Handler

Handler是消息的处理者,Handler将需要传递的信息封装成Message对象,然后调用sendMessage方法将Message放入MessageQueue中,当MessageQueue循环到该Message时,调用相应Handler对象的handleMessage方法对其进行处理。 http://d-android.com/developer/
注意在UI线程也就是主线程中默认会创建Looper对象和MessageQueue对象,如果在我们自己新开的线程中要进行消息处理,必须创建Looper对象和MessageQueue对象,通过调用Looper.prepare()方法可以创建Looper对象和MessageQueue对象,调用Looper.loop()方法可以启动消息循环队列。
这里 http://d-android.com/developer/thread-25343-1-1.html还有个例子,你可以参照一下,求给分啊!!!
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
什么是Medical Literature Analysis and Retrieval System (NLM)的缩 ... 医学工作者的因特网内容简介 2002年的一篇文章英文摘要被《医学文献联机数据库》(MEDLINE)收录,是否... 医学器具medline啥意思 民国市与县的关系是怎样的,市与县分别又是什么? 历代兵制中国民国兵制 冰箱运行时有水流声怎么回事? ud牛郎眼影真假判断 爆闪/没有平替❌ 牛郎眼影真假鉴别方法 鉴别❗️衰败城市牛郎眼影真假,粉质肉眼差距 庄亨阳为官清正 深入理解Handler和Looper 唐家三少的作品初中孩子看了有用处吗? 玄幻小说名家有哪些 医美专业招生条件有哪些 上海圣醒医疗科技中心怎么样? 白酒、医美、教育... ...昔日P2P老大玖富转型记 超维ai智能语音蓝牙音箱怎么操作超维ai智能语音蓝牙音箱怎么操作... 智能语音蓝牙音箱怎么使用 云之羽为什么更新两集 我急需知道在成都春熙路,就是龙抄手附近一个胡同里卖的那种甜圈面包英文... 爵迹写到哪了 请勿回望是什么意思? 2020款 福特途睿欧 2.0T 自动 精英版 国VI 4.5万公里保养项目多少钱_百 ... 昨晚梦到有个老头叫我一直往前走不要回头 2020款 福特途睿欧 2.0T 自动 精英版 国VI 8.5万公里保养项目多少钱_百 ... 2020款 福特途睿欧 2.0T 自动 精英版 国VI 8.5万公里保养项目价格_百度... 2020款 福特途睿欧 2.0T 自动 精英版 国VI 17.5万公里保养项目费用... 2020款 福特途睿欧 2.0T 自动 精英版 国VI 3万公里保养项目费用_百度... 未上锁的房间第一关钥匙两种形态:解密第一关钥匙的使用方法_百度... 庄亨阳人物简介 美国买aj6会便宜吗? 离职道别简短感谢话 求玄幻小说,要求,男主角专一,一个女主角,情感描写较多,三少,土豆... ...文艺一点的网名吧,最好适合夏天用的,另外我生日是12月初五,喜欢绿色... uic研究生就业前景 目前北师港浸大的 毕业生在就业市场上的竞争力如何? 姐妹联谊会惊魂BD中英双字1280高清种子下载地址有么?有发必采纳_百度知... 周杰&林心如的《梦里》 歌词 想买屏幕为16:9的电视机,不知道哪款好,大虾们推荐一下了 约50平米的厅用多大的液晶电视好? 鞍安的《梦里》 歌词 ...请问看多大的电视合适,我准备买长虹等离子的,谢谢 用刮痧板刮腿可以瘦吗 我的电脑装了影驰显卡后在网页爱奇艺看电视会卡屏,什么回事_百度... 世界上什么歌最好听? 推荐几首好听的歌给大家 人间大爱的歌词是什么? 大家能给我推荐几首好的经典的老歌吗?粤语的或国语都行. ...568平方米=()公顷42米=()千米5千米60米=()千米 3吨500千克=()吨... 请问早晨从朝阳区常营到三里屯乘坐758公交车,爱堵车吗?大概8点左右...