Android Handler sendMessage 和 po

2017-10-02  本文已影响0人  呼呼君是什么君

Handler介绍

Handler主要用于异步消息的处理:创建于主线程并从属于主线程的 Handler ,在子线程中当发出一个消息之后,首先进入一个消息队列(MainActivity 默认有一个消息队列,其他 Activity 中则需要用 looper 来创建,在此不再阐述),发送消息的函数即刻返回,而另外一个部分在消息队列中逐一将消息取出,然后对消息进行处理,也就是发送消息和接收消息不是同步的处理。 这种机制通常用来处理相对耗时比较长的操作。

sendMessge 方法

需要在创建 Handler 时重写 handleMessage 方法,内容即为要对主线程进行的操作

post 方法

此方法的参数比较特殊,是一个实现了 Runnable 接口的匿名类,并且重写其 run 方法,注意在子线程中 post 这个匿名类的参数后,后面并没有 start 方法,查看源码能得知并未创建新的线程,post 的方法仅仅将这个匿名类中的 run 方法作为消息发送了出去。

上一篇下一篇

猜你喜欢

热点阅读