sendMessage :立即发送消息

sendMessageDelayed:指定多少毫秒后发送消息。

其实常用的还有2个

sendEmptyMessage 发送空消息,  一般自己想把某种操作放到子线程里面

sendEmptyMessageDelayed 指定多少毫秒后发送空消息,  一般我们做延时操作的时候使用到

如果对sendEmptyMessage 和 sendEmptyMessageDelayed 的使用也是模糊可以点击查看我的这边文章

下面同一个demo 来学习sendMessage和 sendMessageDelayed的使用

public class MainActivity extends AppCompatActivity implements Handler.Callback {private Handler handler;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);handler = new Handler(this);// 这里消息表示666 和999 是自己随便取的runOnUiThread(new Runnable() {@Overridepublic void run() {Message msg = Message.obtain();msg.what = 666; // 消息标识handler.sendMessage(msg);}});runOnUiThread(new Runnable() {@Overridepublic void run() {Message msg = Message.obtain();msg.what = 999;handler.sendMessageDelayed(msg,5000);}});//        new Thread() {
//            @Override
//            public void run() {
//                try {
//                    Thread.sleep(1000);
//                } catch (InterruptedException e) {
//                    e.printStackTrace();
//                }
//                Message msg = Message.obtain();
//                msg.what = 999; // 消息标识
//                msg.obj = "A"; // 消息内存存放
//                handler.sendMessageDelayed(msg,5000);
//            }
//        }.start();}@Overridepublic boolean handleMessage(@NonNull Message msg) {switch (msg.what) {case 666:Toast.makeText(this, "使用了sendMessage", Toast.LENGTH_SHORT).show();break;case 999:Toast.makeText(this, "sendMessageDelayed", Toast.LENGTH_SHORT).show();break;}return false;}@Overrideprotected void onDestroy() {super.onDestroy();if (handler != null) {handler.removeCallbacksAndMessages(null);handler = null;}}}

Android Handler sendMessage和 sendMessageDelayed的使用相关推荐

  1. android sendmessage传递对象,android handler sendMessage

    我们先从最熟悉也是最基本的方法sendMessage(Message msg)来查看,为什么说它是最基本的方法,因为其他发送方法无论是post开头的各种方法还是sendEmptyMessage()本质 ...

  2. android handler的机制和原理_一文搞懂handler:彻底明白Android消息机制的原理及源码

    提起Android消息机制,想必都不陌生.其中包含三个部分:Handler,MessageQueue以及Looper,三者共同协作,完成消息机制的运行.本篇文章将由浅入深解析Android消息机制的运 ...

  3. Android Handler的原理

    简介 在 Android 中,只有主线程才能操作 UI,但是主线程不能进行耗时操作,否则会阻塞线程,产生 ANR 异常,所以常常把耗时操作放到其它子线程进行.如果在子线程中需要更新 UI,一般是通过 ...

  4. 详解Android Handler的使用

    我们进行Android开发时,Handler可以说是使用非常频繁的一个概念,它的用处不言而喻.本文就详细介绍Handler的基本概念和用法. Handler的基本概念           Handle ...

  5. 源码分析Android Handler是如何实现线程间通信的

    源码分析Android Handler是如何实现线程间通信的 Handler作为Android消息通信的基础,它的使用是每一个开发者都必须掌握的.开发者从一开始就被告知必须在主线程中进行UI操作.但H ...

  6. Android Handler消息机制源码分析

    一,前言 众多周知, Android 只允许在主线程中更新UI,因此主线程也称为UI线程(ActivityThread). 如此设计原因有二: (1) 由于UI操作的方法都不是线程安全的,如果多个线程 ...

  7. Android Handler讲述很详细的一篇文章

    Android中的Handler <一> Handler的定义: 主要接受子线程发送的数据, 并用此数据配合主线程更新UI. 解释: 当应用程序启动时,Android首先会开启一个主线程 ...

  8. android handler的理解

    android handler的理解 在看handler源码前,我一直以为google构造handler的目的是方便开发者在其他线程中 调用执行主线程的方法或者在主线程中调用执行其他线程的方法.看完源 ...

  9. Android Handler机制简单分析

    丨版权说明 : <Android Handler机制简单分析>于当前CSDN博客和乘月网属同一原创,转载请说明出处,谢谢. 本文一切从简,将围绕以下流程展开叙述: what why how ...

最新文章

  1. 选择Scrum看板工具的七点特征
  2. Eclipse删除文件的恢复(转)
  3. 就是好骑!骑ofo小黄蜂和舒畅早晨say hi,跟闹心堵车say bye
  4. spring mvc原理_Spring MVC的工作原理,我们来看看其源码实现
  5. IE-OLD IE 提示
  6. java display属性_JavaScript中的style.display属性操作
  7. HBase-site.xml 常见重要配置参数(转载)
  8. 2 Hadoop的安装与配置
  9. 大型网站系统的特点和架构设计
  10. 奥拉星插件flash下载手机版下载安装_奥拉星游戏插件
  11. 读读objc源码(二):weak类型指针的实现
  12. python 安装 Pyside 出现 “Failed to find the MSVC compiler version 10.0 on your system”
  13. 哇撒!这几个SpringBoot前后端分离项目(附源码),star过千,快去收藏夹吃灰吧。。。
  14. python大牛是什么水平_yield--Python大牛必须掌握的高端语法
  15. 用EXCEL分析房价
  16. linux终端打开excel,linux 打开excel命令 java
  17. 公司发展历程企业项目进度大事记时间轴PPT模板
  18. Radiology:磁共振血管造影(MRA)在脑转移瘤治疗中对血管形态改变的测量
  19. uniapp移除原生导航栏后页面与手机状态栏重叠问题
  20. windows win7电脑搜索功能失效怎么修复

热门文章

  1. 【解决方法】你已从聊天服务器断开,正在尝试重新连接
  2. 2022-2028年中国公路客运行业市场研究及前瞻分析报告
  3. C++ 笔记(35)— std::to_string 转换整形数字为字符串
  4. centos7samba服务的搭建
  5. 【spring】动态代理
  6. 办公word,ppt,excel问题
  7. paddle一体安装
  8. Anchor Boxes示例实战
  9. Cocos 物理系统
  10. C++ 中 map 的用法