Handler sendMessage 与 obtainMessage ()区别_chenaini119的专栏-程序员信息网

技术标签: android  

平时我们用handlermessage

Message msg = new Message();
msg.what = 0xA2;
msg.obj = "FEFFA2410310FCS";
Handler.sendMessage(msg);



用obtainMessage()

Message msg = handler.obtainMessage();

               msg.what = 0xA2;
msg.obj = "FEFFA2410310FCS";
   msg.sendToTarget();

两种都能完成所要的需求,但是为啥要出现两种呢

 public static Message obtain(Handler h) {
      Message m = obtain();
      m.target = h;
 
      return m;
  }这里不是创建message而是取

obtainMessage和new Message()的区别,它们的区别也就在于Message的创建方式不同。

obtainMessage 已经不是 自己创建的了,而是从MessagePool 拿的,省去了创建对象申请内存

 以后使用的时候尽量使用 Message msg = handler.obtainMessage();的形式创

   建Message,这样省内存



版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/chenaini119/article/details/22757253

智能推荐

《程序猿的第n+4天》_焦虑的说说的博客-程序员信息网

今天在linux虚拟机上装了phpstudy,要进入数据库时,直接在终端输入 mysql -u root -p时,报错,说没有mysql这个命令 后来查了一下,知道环境配置没配好,所以要这么写[[email protected] ~]# /phpstudy/mysql/bin/mysql -u root -p后来要我输入密码,我之前是安装过Mysql的,设过密码,不过我早就忘到九霄云外去了。然后各种想

程序员面试时这样介绍自己的项目经验,成功率能达到98.99%_程序猿总指挥的博客-程序员信息网

大多数小伙伴都知道,2019年是互联网行业最不平凡的一年。各类平台的倒闭、破产、清算,尤其是去年6、7月分全国大范围P2P集中爆雷跑路,,居多因素,裁员的、失业的大有人在,所以,虽近年底,找工作的伙伴应该还不在少数,所以,今天,给大家分享一些面试技巧文章。假如去面试要问10个问题,那么至少5个问题会根据你所介绍的项目背景来问。面试时7份靠能力,3份靠技能,而刚开始时的介绍项目又是...

Linux进程间通信命名管道_chengh_chh的博客-程序员信息网

Linux进程间通信命名管道在前一篇文章——Linux进程间通信——使用匿名管道中,我们看到了如何使用匿名管道来在进程之间传递数据,同时也看到了这个方式的一个缺陷,就是这些进程都由一个共同的祖先进程启动,这给我们在不相关的的进程之间交换数据带来了不方便。这里将会介绍进程的另一种通信方式——命名管道,来解决不相关进程间的通信问题。一、什么是命名管道命名管道也被称为FIFO文件,它

ubuntu 18.04 - server版 开机启动脚本_Dom_留声机的博客-程序员信息网

ubuntu 18.04 - server版 开机启动脚本systemd 默认读取 /etc/systemd/system 下的文件,该目录下的文件会链接/lib/systemd/system/下的文件。 执行 ls /lib/systemd/system 你可以看到有很多启动脚本,其中就有我们需要的 rc.local.service打开脚本内容:[Unit]Description...

[Unity3D]使用OnGUI函数显示状态栏并且使用触发器修改玩家当前信息_请叫我汪海的博客-程序员信息网

在Unity官网上有相关OnGUI函数的讲解,点击查看官网说明文档将这段代码贴在Unity的脚本中并且拖拽到主摄像机上,便会发现运行时左上角多了一个小按钮:但是这样显然不能满足正常的需求,一般来说游戏需要在界面显示当前角色的相关信息,比如剩余血量什么的,下面就来看下如何在Unity中使用OnGUI函数显示Health信息。将在MonoDevelopment中将代码做

awk合并行、linux shell 字符串操作、sed字符替换_iteye_10060的博客-程序员信息网

四行合一行 cat filename111111111222222222333333333444444444555555555666666666777777777888888888999999999awk '{if (NR%4==0){print $0} else {printf"%s ",$0}}' f...

随便推点

Flask-RESTful——请求参数解析详解_liuwkk的博客-程序员信息网_flaskrestful获取参数

一、Flask_RESTful——请求解析Flask-RESTful 的请求解析接口是模仿 argparse 接口。它设计成提供简单并且统一的访问 Flask 中 flask.request 对象里的任何变量的入口。from flask.ext.restful import reqparse# 创建参数解析对象,进行请求参数解析parser = reqparse.RequestParser()# 请求携带参数格式parser.add_argument('rate', type=int,

NYOJ 38 - 布线问题_凉哈哈的博客-程序员信息网

布线问题时间限制:1000 ms  |  内存限制:65535 KB难度:4题目链接:点击打开链接描述南阳理工学院要进行用电线路改造,现在校长要求设计师设计出一种布线方式,该布线方式需要满足以下条件:1、把所有的楼都供上电。2、所用电线花费最少输入第一行是一个整数n表示有n组测试数据。(n<5)每组测试数据的第一行是两个整数v,e.v表示学校里楼的总个数(v<=500)随后的e行里,每...

第一次个人阅读作业_weixin_30780649的博客-程序员信息网

Task1:注册个人博客账号http://www.cnblogs.com/jiaowoxiaotiancai/Task2:注册码云账号https://gitee.com/jiaowoxiaotiancai/eventsTask3:完成博客-阅读与思考阅读参考材料,并回答下面几个问题:(1)回想一下你初入大学时对网络工程专业的畅想当初你是如何做出选择网络工程专业的决定的?你认...

修改用友连锁零售门店系统-销售单制单选择物料界面,显示存货自定义项_古蓝的博客-程序员信息网

打开安装目录UFIDA\Retail\RetailFront\Data\XML\Receipt\Ref_BarCodeForSale.xml配置文件新增一行其中Field Caption="XXX"   XXX=自定义项目名称MappingName="XXX"  XXX=自定义项目字段名称,例如fchrItemCDef1Desc="XXX"  XXX=自定义项目

Linux命令与下载_ldybk的博客-程序员信息网

Linux命令切换目录 cd显示一个目录下的文件和文件夹:lllsls -lls -a文件目录操作创建文件 vim touch创建目录 mkdir删除文件或目录 rm -rf 文件/文件夹移动文件或文件夹 mv 源文件 目标文件复制文件或文件夹 cp查看端口号: netstat查看正在运行的进程:ps aux修改权限:chmod动态查看一个日志文件:t...

WEBLOGIC 内存溢出 解决方案_六楼外的风景的博客-程序员信息网

前几天部署WebLogic出现线程阻塞情况,查看后台报错:<[STUCK] ExecuteThread: '58' for queue: 'weblogic.kernel.Default (self-tuning)' has been busy for "697" seconds working on the request "Http Request: aaa.do", which is m