前言

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

声明

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

    51CTO:http://over140.blog.51cto.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

更多相关文章

  1. Android(安卓)失去焦点,关闭弹出的软键盘
  2. Android(安卓)Studio 如何快速添加override或者implements方法
  3. Android(安卓)studio虚拟机adb环境配置
  4. Android(安卓)Audio代码分析6 - AudioEffect
  5. Android(安卓)Mms专题之:Android短彩信收发流程(Framework)
  6. android实现异步加载图片
  7. Android(安卓)Studio 常见问题集锦
  8. Android获得Location信息的方法
  9. android onUserLeaveHint和onUserInteraction

随机推荐

  1. android studio 最新3.0 kotlin与databin
  2. ScrollView嵌套ViewPager,ViewPager内容
  3. SQLite数据库相关(三) SQLiteOpenHelper类
  4. android contacts 联系人搜索解析
  5. Activity的Launch Mode
  6. Android四大组件之ContentProvider
  7. Chromium进程间的通信机制浅析(android版
  8. Link方式安装ADT
  9. Android中contentProvider的用途
  10. 天天记录 - Android(安卓)addView源码分