Android中Handler的sendEmptyMessage的理解_ElvisDu的博客-程序员宝宝_android sendemptymessage

技术标签: Android基础  

在写代码的过程中,碰到一行代码不理解,去看了下源码,来记录下。

mHandler.sendEmptyMessage(0);
sendEmptyMessage这个方法之前没有碰到过,查阅源码后发现:

    /**
     * Sends a Message containing only the what value.
     *  
     * @return Returns true if the message was successfully placed in to the 
     *         message queue.  Returns false on failure, usually because the
     *         looper processing the message queue is exiting.
     */
    public final boolean sendEmptyMessage(int what)
    {
        return sendEmptyMessageDelayed(what, 0);
    }

发现底层调用了sendEmptyMessageDelayed方法,

这个的解释是,只发送一个包含what值的message。

继续看源码:

    /**
     * Sends a Message containing only the what value, to be delivered
     * after the specified amount of time elapses.
     * @see #sendMessageDelayed(android.os.Message, long) 
     * 
     * @return Returns true if the message was successfully placed in to the 
     *         message queue.  Returns false on failure, usually because the
     *         looper processing the message queue is exiting.
     */
    public final boolean sendEmptyMessageDelayed(int what, long delayMillis) {
        Message msg = Message.obtain();
        msg.what = what;
        return sendMessageDelayed(msg, delayMillis);
    }

看到这里就知道了,确实发送了一个只包含what值的消息。


确实,不看源码的话,完全不知道这个方法到底做了什么,看来以后还是要多多阅读源码。




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

智能推荐

python中列表list、字典dict找最大值、最小值_有石为玉的博客-程序员宝宝_dict 最大值

1、list中找最值c = [-10,-5,0,5,3,10,15,-20,25]print c.index(min(c))  # 返回最小值的索引print c.index(max(c)) # 返回最大值的索引 2、字典中找最值dogdistance = {'dog-dog': 33, 'dog-cat': 36, 'dog-car': 41, 'dog-bird':...

机器学习:SVM、软间隔、随机梯度下降SVM线性算法_萤火虫之暮的博客-程序员宝宝

文章目录SVM目标函数SVM目标函数推导函数间隔:几何间隔:软间隔、松弛HingeLoss和软间隔随机梯度下降算法线性SVM的算法描述:SVM目标函数SVM目标函数推导函数间隔:几何间隔:SVM 算法就可以比较自然地叙述为:最大化(几何间隔)d、使得:不妨假设函数间隔为1,这样就得到最开始的优化目标方程。约束条件中:yi(w.x+b)−1>=0y_i(w . ...

Collectors.toMap 使用技巧 (List 转 Map超方便)_Resst的博客-程序员宝宝_collectors.tomap 使用

过去的做法(List转Map)userList.add(newUser().setId("A").setName("张三"));userList.add(newUser().setId("B").setName("李四"));userList.add(newUser().setId("C").setName("王五"));//遍历Mapmap=newHashMap();}使用【强制】在使用。

形式语言与自动机之有限状态自动机_朱骥伦的博客-程序员宝宝

有限状态自动机有限状态自动机状态转换表状态转换图确定有限状态自动机(DFA)不确定有限状态自动机(NFA)有限状态自动机有穷状态自动机是具有离散输入和输出的系统的一种数学模型。其主要特点有以下几个方面:(1)系统具有有穷个状态,不同的状态代表不同的意义。按照实际的需要,系统可以在不同的状态下完成规定的任务。(2)我们可以将输入字符串中出现的字符汇集在一起构成一个字母表。系统处理的所有字符串都是这个字母表上的字符串。(3)系统在任何一个状态下,从输入字符串中读入一个字符,根据当前状态和读入的

ThumbnailUtils的使用_Jack-Chan的博客-程序员宝宝

特别喜欢系统中一些小而精的工具类,有的时候分析一下别有一番味道。ThumbnailUtils是系统内置的一个生成缩略图的工具类,只有512行代码,网上有很多使用ThumbnailUtils的例子,刚好我个人正在整理Bitmap的相关资料,希望从中也能有所收获。

C语言中的set jmp()和long jmp()_Aiden御舟的博客-程序员宝宝_c语言jmp

与刺激的abort()和exit()相比,goto语句看起来是处理异常的更可行方案。不幸的是,goto是本地的:它只能跳到所在函数内部的标号上,而不能将控制权转移到所在程序的任意地点(当然,除非你的所有代码都在main体中)。  为了解决这个限制,C函数库提供了setjmp()和longjmp()函数,它们分别承担非局部标号和goto作用。头文件申明了这些函数及同时所需的jmp_buf

随便推点

Linux driver的“双机调试”_Wang_anna的博客-程序员宝宝_linux双机调试

使用putty登录到被调试机器,输入被调试机器的ip即可登录。然后使用 dmesg -w来查看driver或者kernel打印出的日志日志即可

java Object类型转Map_qq_16553883的博客-程序员宝宝_java object转map

仅供参考@Log4jpublic class ObjectToMap {    /*简单Object转成map*/    public static Map<String,String> toMap(Object o){        Map<String,String> map=new HashMap<String, String>();    ...

767. Reorganize String_bohu83的博客-程序员宝宝

Given a stringS, check if the letters can be rearranged so that two characters that are adjacent to each other are not the same.If possible, output any possible result. If not possible, return the...

jvm基础-内存管理_ancinsdn的博客-程序员宝宝

好记性不如烂笔头。。。 工作这么多年还是要有点沉淀。。。一 JVM内存范围1、方法区(Method Area): 对于我们使用HotSpot虚拟机的程序员来说,方法区即平时我们所说的永久代(Perm Gen),它用于存储已被虚拟机加载的类信息,常量,以及静态变量等数据。虽然java虚拟机规范将方法区描述为堆的一个逻辑部分,但是它却有一个别名叫做非堆(No-Heap),目的是为了