• Android中文API(127) —— MessageQueue


    前言

      本章内容是android.os.MessageQueue,版本为Android 3.1 r1,翻译来自"strongxu",欢迎访问他的微薄"http://t.qq.com/strongxu",再次感谢"strongxu"!欢迎你一起参与Android的中文翻译,联系我over140@gmail.com。

    声明

      欢迎转载,但请保留文章原始出处:)

        博客园:http://www.cnblogs.com/

        Android中文翻译组:http://goo.gl/6vJQl

    MessageQueue

    译者署名: strongxu

    译者微博:http://t.qq.com/strongxu

    版本:Android 3.1 r1

     

    结构

    继承关系

    public class MessageQueue extends Object

            

    java.lang.Object

    android.os.MessageQueue

     

    类概述

    保存消息列表的低级别类,这些消息由Looper对象派发。消息并不是直接添加到MessageQueue中的,而是通过与Looper对象关联的MessageQueue.IdleHandler对象添加的。

             调用Looper.myQueue方法可以获取当前线程的MessageQueue

     

    公共方法

    public final void addIdleHandler (MessageQueue.IdleHandler handler)

    向消息队列中添加一个新的MessageQueue.IdleHandler。当调用IdleHandler.queueIdle()返回false时,此MessageQueue.IdleHandler会自动的从消息队列中移除。或者调用removeIdleHandler(MessageQueue.IdleHandler)也可以从消息队列中移除MessageQueue.IdleHandler

    此方法是线程安全的。

          参数

                handler              要添加的IdleHandler

     

    public final void removeIdleHandler (MessageQueue.IdleHandler handler)

         从队列中移除之前调用addIdlehandler(MessageQueue.IdleHandler)添加的MessageQueue.IdleHandler。如果handler不在当前的空闲列表,不做任何事。

               参数

                     handler              要移除的IdleHandler

     

    受保护方法

    protected void finalize ()

          在对象被VM回收之前调用。只有当垃圾回收器检测到运行的所有线程都不再使用此对象时才会出现。

          在对象被垃圾回收之前,此方法可以用来释放系统资源或者做其他的清理工作。默认的此方法实现是空的,这也是VM所期望的,但是子类可以重写此方法。在此方法执行是抛出的未捕获异常会导致程序立即结束,否则则会忽略异常。

          注意,VM会保证任何对象的finalize方法最多调用一次,但是它不会保证何时(或者是否)会调用finalize。例如,对象Bfinalize方法可以推迟执行对象Afinalize,因此它会导致推迟回收A的内存空间。为了安全,使用ReferenceQueue,因为在垃圾回收时,它在VM处理引用的方式上提供了更多的控制方法。

     

    补充

    文章精选

    android线程 Handler Message Queue AsyncTask线程模型

               Android中的Handler, Looper, MessageQueueThread

     
  • 相关阅读:
    Java Web 开发必须掌握的三个技术:Token、Cookie、Session
    $.proxy和$.extend
    手机端和网页端使用同一后台时进行会话控制
    js中使用EL表达式总结
    Durandal入门
    RequireJs入门
    阿里云Prismplayer-Web播放器的使用
    Mac系统实现git命令自动补全
    Mac系统的终端显示git当前分支
    Gulp实现css、js、图片的压缩以及css、js文件的MD5命名
  • 原文地址:https://www.cnblogs.com/over140/p/2097038.html
Copyright © 2020-2023  润新知