下载
加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 Looper

Looper.prepare()

Looper

何心实
2019-06-16 0人阅读 举报 0 0 暂无简介

简介:本文档为《Looperdoc》,可适用于综合领域

Looperprepare()Looper用于封装了android线程中的消息循环,默认情况下一个线程是不存在消息循环(messageloop)的,需要调用Looperprepare()来给线程创建一个消息循环,调用Looperloop()来使消息循环起作用,从消息队列里取消息,处理消息。注:写在Looperloop()之后的代码不会被立即执行,当调用后mHandlergetLooper()quit()后,loop才会中止,其后的代码才能得以运行。Looper对象通过MessageQueue来存放消息和事件。一个线程只能有一个Looper,对应一个MessageQueue。以下是AndroidAPI中的一个典型的Looperthread实现:Handler不带参数的默认构造函数:newHandler(),实际上是通过LoopermyLooper()来获取当前线程中的消息循环,而默认情况下,线程是没有消息循环的,所以要调用Looperprepare()来给线程创建消息循环,然后再通过,Looperloop()来使消息循环起作用。classLooperThreadextendsThread{publicHandlermHandlerpublicvoidrun(){Looperprepare()mHandler=newHandler(){publicvoidhandleMessage(Messagemsg){processincomingmessageshere}}Looperloop()}另,Activity的MainUI线程默认是有消息队列的。所以在Activity中新建Handler时,不需要先调用Looperprepare()。Looper用于封装了android线程中的消息循环,默认情况下一个线程是不存在消息循环(messageloop)的,需要调用Looperprepare()来给线程创建一个消息循环,调用Looperloop()来使消息循环起作用,从消息队列里取消息,处理消息。注:写在Looperloop()之后的代码不会被立即执行,当调用后mHandlergetLooper()quit()后,loop才会中止,其后的代码才能得以运行。Looper对象通过MessageQueue来存放消息和事件。一个线程只能有一个Looper,对应一个MessageQueue。以下是AndroidAPI中的一个典型的Looperthread实现:Handler不带参数的默认构造函数:newHandler(),实际上是通过LoopermyLooper()来获取当前线程中的消息循环,而默认情况下,线程是没有消息循环的,所以要调用Looperprepare()来给线程创建消息循环,然后再通过,Looperloop()来使消息循环起作用。classLooperThreadextendsThread{publicHandlermHandlerpublicvoidrun(){Looperprepare()mHandler=newHandler(){publicvoidhandleMessage(Messagemsg){processincomingmessageshere}}Looperloop()}另,Activity的MainUI线程默认是有消息队列的。所以在Activity中新建Handler时,不需要先调用Looperprepare()。Looper用于封装了android线程中的消息循环,默认情况下一个线程是不存在消息循环(messageloop)的,需要调用Looperprepare()来给线程创建一个消息循环,调用Looperloop()来使消息循环起作用,从消息队列里取消息,处理消息。注:写在Looperloop()之后的代码不会被立即执行,当调用后mHandlergetLooper()quit()后,loop才会中止,其后的代码才能得以运行。Looper对象通过MessageQueue来存放消息和事件。一个线程只能有一个Looper,对应一个MessageQueue。以下是AndroidAPI中的一个典型的Looperthread实现:Handler不带参数的默认构造函数:newHandler(),实际上是通过LoopermyLooper()来获取当前线程中的消息循环,而默认情况下,线程是没有消息循环的,所以要调用Looperprepare()来给线程创建消息循环,然后再通过,Looperloop()来使消息循环起作用。classLooperThreadextendsThread{publicHandlermHandlerpublicvoidrun(){Looperprepare()mHandler=newHandler(){publicvoidhandleMessage(Messagemsg){processincomingmessageshere}}Looperloop()}另,Activity的MainUI线程默认是有消息队列的。所以在Activity中新建Handler时,不需要先调用Looperprepare()。其他资料:Android下的多线程Looper用于封装了android线程中的消息循环,默认情况下一个线程是不存在消息循环(messageloop)的,需要调用Looperprepare()来给线程创建一个消息循环,调用Looperloop()来使消息循环起作用,从消息队列里取消息,处理消息。注:写在Looperloop()之后的代码不会被立即执行,当调用后mHandlergetLooper()quit()后,loop才会中止,其后的代码才能得以运行。Looper对象通过MessageQueue来存放消息和事件。一个线程只能有一个Looper,对应一个MessageQueue。以下是AndroidAPI中的一个典型的Looperthread实现:Handler不带参数的默认构造函数:newHandler(),实际上是通过LoopermyLooper()来获取当前线程中的消息循环,而默认情况下,线程是没有消息循环的,所以要调用Looperprepare()来给线程创建消息循环,然后再通过,Looperloop()来使消息循环起作用。classLooperThreadextendsThread{publicHandlermHandlerpublicvoidrun(){Looperprepare()mHandler=newHandler(){publicvoidhandleMessage(Messagemsg){processincomingmessageshere}}Looperloop()}另,Activity的MainUI线程默认是有消息队列的。所以在Activity中新建Handler时,不需要先调用Looperprepare()。Looper用于封装了android线程中的消息循环,默认情况下一个线程是不存在消息循环(messageloop)的,需要调用Looperprepare()来给线程创建一个消息循环,调用Looperloop()来使消息循环起作用,从消息队列里取消息,处理消息。注:写在Looperloop()之后的代码不会被立即执行,当调用后mHandlergetLooper()quit()后,loop才会中止,其后的代码才能得以运行。Looper对象通过MessageQueue来存放消息和事件。一个线程只能有一个Looper,对应一个MessageQueue。以下是AndroidAPI中的一个典型的Looperthread实现:Handler不带参数的默认构造函数:newHandler(),实际上是通过LoopermyLooper()来获取当前线程中的消息循环,而默认情况下,线程是没有消息循环的,所以要调用Looperprepare()来给线程创建消息循环,然后再通过,Looperloop()来使消息循环起作用。classLooperThreadextendsThread{publicHandlermHandlerpublicvoidrun(){Looperprepare()mHandler=newHandler(){publicvoidhandleMessage(Messagemsg){processincomingmessageshere}}Looperloop()}另,Activity的MainUI线程默认是有消息队列的。所以在Activity中新建Handler时,不需要先调用Looperprepare()。Looper用于封装了android线程中的消息循环,默认情况下一个线程是不存在消息循环(messageloop)的,需要调用Looperprepare()来给线程创建一个消息循环,调用Looperloop()来使消息循环起作用,从消息队列里取消息,处理消息。注:写在Looperloop()之后的代码不会被立即执行,当调用后mHandlergetLooper()quit()后,loop才会中止,其后的代码才能得以运行。Looper对象通过MessageQueue来存放消息和事件。一个线程只能有一个Looper,对应一个MessageQueue。以下是AndroidAPI中的一个典型的Looperthread实现:Handler不带参数的默认构造函数:newHandler(),实际上是通过LoopermyLooper()来获取当前线程中的消息循环,而默认情况下,线程是没有消息循环的,所以要调用Looperprepare()来给线程创建消息循环,然后再通过,Looperloop()来使消息循环起作用。classLooperThreadextendsThread{publicHandlermHandlerpublicvoidrun(){Looperprepare()mHandler=newHandler(){publicvoidhandleMessage(Messagemsg){processincomingmessageshere}}Looperloop()}另,Activity的MainUI线程默认是有消息队列的。所以在Activity中新建Handler时,不需要先调用Looperprepare()。其他资料:Android下的多线程

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/9

Looper

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利