Android Handler sendMessage 和 post 方法

Handler介绍

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

sendMessge 方法

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

post 方法

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容