sendMessage 与 obtainMessage (sendToTarget)比较

我们平时在做到多线程问题的时候可能利用Handler去传递Message,其中,经常使用的就是
1、new Handler().obtainMessage().sendToTarget();
2、new Handler().sendMessage(new Message());
第一种是直接传递what,obj等,msg的一些数据,第二种是初始化一个msg,然后赋值msg的一些数据,以Message的对象去send,在使用上这两种都可以实现需求,那么这两种有什么区别呢?

等同于obtain()方法,返回了一个带target标志的Message,就是给Message打上Handler的标志,好区分的意思,没别的意思,主要就是obtain()方法,如下


image.png

就如同最开始说的那样从MessagePool 返回一个新的Message实例,避免分配新对象,省去了创建对象申请内存的开销。。。。。
image.png

得到了Message后,调用了sendToTarget(),,里面调用了sendMessage(),这就是和方法二一样的了, new Handler().sendMessage(new Message());
总结下就是说利用obtainMessage().sendToTarget()是从MessagePool 返回一个新的Message实例可以避免我们去创建Message对象申请内存开销。

 

https://www.jianshu.com/p/f74b91c6733b

转载于:https://www.cnblogs.com/bluestorm/p/10916715.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/569384.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

toFixed用法 四舍五入保留小数

Num.toFixed(aaa) 参数:其中,aaa 参数范围0~20,决定保留几位小数,默认是0 返回值: 返回数字的字符串形式 参考mdn https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixe…

MUI

跳转页面后刷新 首先在添加信息页面写上 mui.init({beforeback: function() {  //获得父页面的webviewvar list plus.webview.currentWebview().opener();  //触发父页面的自定义事件(refresh),从而进行刷新mui.fire(list, getDaily);//返回true,继续页面关闭逻辑return t…

图片vertical-align 属性,对齐文本

vertical-align: baseline top middle bottom

如何在报表中实现算法的可挂接需求

在报表项目中,有些报表中部分数据的计算方法会经常改变。例如:某企业员工的实际工资是通过绩效得分计算出的,而绩效的算法可能经常变动,需要在不改动其他代码的情况下用新算法替换旧算法。一般我们都会想到用 Java 来实现计算&…

【数据结构】字符串匹配|BF算法|KMP算法|next数组的优化

字符串匹配算法是在实际工程中经常遇到的问题,也是各大公司笔试面试的常考题目,本文主要介绍BF算法(最好想到的算法,也最好实现)和KMP算法(最经典的) 一、BF算法 BF算法,即暴力(Bru…

vue报错:Cannot read properties of undefined (reading ‘0‘)

报错信息:Cannot read properties of undefined (reading 0) 描述: goodsInfo 是对象类型,其包含key 为 content, content为数组类型, 直接取数组内容,页面能展示出来,只是console 会报错 原文…

JMeter【第五篇】关联:5种方法

前几天在Q群里看到群友发的最近10年性能测试工具使用率的统计,最近的2018年,jmeterloadrunner占了93%的使用率,说明这两个是主流,其中,jmeter的使用率逐年提升,现在已经超过了loadrunner,占了51…

四世同堂-读记

四世同堂是老舍先生写的长篇小说,因为书太长了,共分为三部,《惶恐》、《偷生》和《饥荒》,这本书大家都说很长,读了确实觉得很长,毕竟时间和精力有限。现如今,这本书我已经把《惶恐》看完了&…

树——通用树到二叉树的转换

1,已经创建了通用树结构,有必要创建另一种树结构吗? 2,简化树就直接减少结点中孩子的数量,但是这样树还能通用吗? 3,通用树结构的回顾: 1,双亲孩子表示法: 1&…

沃顿商学院最受欢迎的谈判课

沃顿商学院最受欢迎的谈判课讲了很多种在不同的情境之中,谈判技巧如何使用,帮助自己实现自己的目标,可以改善人们的思维习惯。随着人际交往的增加及人际圈的扩大,我明显感受到自己的处事思维以及情商方面的缺乏,想要通…

文件的读写

文件的最基本读写方式 1 fopen(小重山,r,encodingutf8)2 datef.read(5) #3 print(date)4 f.close()5 6 import time7 fopen(小重山2,a,encodingutf8)8 9 datef.write(\n hello cindy.\n) 10 datef.write(im so young) 11 12 time.sleep(2) 13 f.close…

学习小记录

一次性较快删除文件夹 npm install rimraf -g rimraf node_modules

如何运行exe文件

有三种方式 第一种:找到所在文件双击运行。 第二种:在命令行里面运行所在文件夹的位置,在输入文件名。 第三种:加到环境变量里面执行 转载于:https://www.cnblogs.com/q2546/p/10931956.html

觉得看到的很好的文章---以自勉

整体上来看,人脉当然很重要。不过,针对某个个体来说,更重要的是他所拥有的资源。有些资源很难瞬间获得,比如金钱、地位、名誉,尤其在这些资源的获得更多地依赖出身和运气的现实世界里。然而有些资源却可以很容易从零开…

一维数组和二维数组互转

$arr [1>玩玩,2>哦噢,3>嚷嚷,4>纯粹,5>不会,6>呃呃,7>卡卡,8>啊啊,9>一样,10>哈哈];$b Array();//一维数组转换成二维数组foreach ($arr as $key > $value) {$b[]Array(id>$key,name>$value);}$c array_column($b,name,id);//二维数…

前端基础笔记

1、加动画 在原来的元素上: transition: all .2s ease-in 在有hover的上: transform: translateY(-2px)

推荐几款提升效率的神器

1 数学公式神器:Mathpix Snip 作为理工科的学生或者经常用到数学的科研工作者,应该对数学公式都很头疼,不管是用LaTeX还是mathtype,都比较麻烦,要么需要频繁的鼠标点击,要么需要好的记忆力。而Mathpix Snip…

实验9 c++

problem &#xff1a;A 第一个类 #include <iostream> #include <iomanip> #include <cstring> #include <cmath> using namespace std;class Thing { private:string name; public:Thing(){}Thing(string n):name(n) {cout << "" <…

迭代器协议、斐波那契数列

f1.__iter__iter(f1)  把一个对象变成可迭代对象 __init__  构造函数 for循环遵循迭代器协议&#xff0c;要求对象有next、iter方法&#xff0c;有iter方法&#xff0c;for循环跟着对象对触发对象的方法&#xff08;协议规定&#xff09; 对象内部要有next方法 斐波那契数列…

[java基础问题] Exception 和 Error

Exception 和 Error Exception 和 Error 都是继承了 Throwable 类, 在 java 中, 只有继承了 Throwable 类才可以使用 throw 抛出, 或者 cath 捕获;Exception 意为 java 运行时可能发生的不合理的情况, 出现时并不会时程序异常退出。其中 Exception 又分为可检查异常, 非可检查异…