Handler.post与View.post的区别

简介:
Android的线程分UI线程与非UI线程两类。而Handler是非UI线程向UI线程传递消息的桥梁。

除了非常常用sendMessage之外,Handler也提供了post(Runnable...),postDelayed等

风骚犀利的方法,利于我们使用“闭包式编程”。

 

View作为UI的一部分,也无例外的提供了一个淫荡的View.post(Runnable)方法,让我们在

UI线程中doSomeThing。灵活使用View.post。神马Handler,Activity.runOnUIThread,

都可以一边站去。

 

相同

在与UI线程的通信上,Handler与View,其实最终都做了同样的事情。就是将消息传递在UI线程

的消息队列里,执行一些处理操作。

 

不同的是

View.post方法想在非UI线程有效工作。如该方法的注释所说,必须保证该View已经被添加至窗口。

This method can be invoked from outside of the UI thread only when this View is attached to a window.

 另外给一个stackoverflow的例子:

 http://stackoverflow.com/questions/4083787/runnable-is-posted-successfully-but-not-run
复制代码

 


本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/5666680.html,如需转载请自行联系原作者

相关文章
|
消息中间件 调度 Android开发
Android经典面试题之View的post方法和Handler的post方法有什么区别?
本文对比了Android开发中`View.post`与`Handler.post`的使用。`View.post`将任务加入视图关联的消息队列,在视图布局后执行,适合视图操作。`Handler.post`更通用,可调度至特定Handler的线程,不仅限于视图任务。选择方法取决于具体需求和上下文。
240 0
|
Docker 容器
docker 中文件和外部文件映射
docker 中文件和外部文件映射
|
机器人 语音技术
神器 | 文本转语音,直接可以合成多人多风格音频了!
为了适应更多的音频使用场景和需求,近期我们将文本转语音服务进行了升级,全新的功能将成为你配音工具的不二之选。
743 1
线程间通信的几种方法
线程间通信的几种方法
|
机器学习/深度学习 人工智能 数据可视化
号称能打败MLP的KAN到底行不行?数学核心原理全面解析
Kolmogorov-Arnold Networks (KANs) 是一种新型神经网络架构,挑战了多层感知器(mlp)的基础,通过在权重而非节点上使用可学习的激活函数(如b样条),提高了准确性和可解释性。KANs利用Kolmogorov-Arnold表示定理,将复杂函数分解为简单函数的组合,简化了神经网络的近似过程。与mlp相比,KAN在参数量较少的情况下能达到类似或更好的性能,并能直观地可视化,增强了模型的可解释性。尽管仍需更多研究验证其优势,KAN为深度学习领域带来了新的思路。
5066 5
|
JavaScript 前端开发 安全
|
消息中间件 存储 SQL
3分钟实现SpringBoot集成RabbitMQ,实现消息队列服务!
消息中间件在互联网公司使用得越来越多,主要用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。消息队列实现系统之间的双向解耦,生产者往消息队列中发送消息,消费者从队列中拿取消息并处理,生产者不用关心是谁来消费,消费者不用关心谁在生产消息,从而达到系统解耦的目的,也大大提高了系统的高可用性和高并发能力。Spring Boot提供了spring-bootstarter-amqp组件对消息队列进行支持,使用非常简单,仅需要非常少的配置即可实现完整的消息队列服务。
3分钟实现SpringBoot集成RabbitMQ,实现消息队列服务!
|
缓存 监控 数据可视化
Android端埋点自动采集技术原理剖析
超过10年互联网行业工作经验总结,本文主要定位为对Andorid端内部自动采集技术的原理剖析。
1976 0
Android端埋点自动采集技术原理剖析
|
存储 消息中间件 分布式计算
DLF +DDI 一站式数据湖构建与分析最佳实践
本文由阿里云数据湖构建 DLF 团队和 Databricks 数据洞察团队联合撰写,旨在帮助您更深入地了解阿里云数据湖构建(DLF)+Databricks 数据洞察(DDI)构建一站式云上数据入湖。
DLF +DDI 一站式数据湖构建与分析最佳实践
|
存储 监控 测试技术
Hyperledger Fabric 1.0.1至Hyperledger Fabric 1.0.5所升级的内容及修复的问题
基础更新 各版本每次迭代都会有一些基础更新内容,如文档修改覆盖、测试用例完善、用户体验改进及删除冗余无效代码等… 下面分类介绍的是一些版本迭代的重要更新内容,因个人实操和理解有限,部分更新并未明确,如果有错误的地方,还望各位大神指正!    1.
879 0