Android中文API(127) —— MessageQueue

简介:

结构

继承关系

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

本文转自博客园农民伯伯的博客,原文链接:Android中文API(127) —— MessageQueue,如需转载请自行联系原博主。

目录
相关文章
|
1月前
|
消息中间件 存储 Java
Android消息处理机制(Handler+Looper+Message+MessageQueue)
Android消息处理机制(Handler+Looper+Message+MessageQueue)
38 2
|
3月前
|
编译器 API Android开发
Android经典实战之Kotlin Multiplatform 中,如何处理不同平台的 API 调用
本文介绍Kotlin Multiplatform (KMP) 中使用 `expect` 和 `actual` 关键字处理多平台API调用的方法。通过共通代码集定义预期API,各平台提供具体实现,编译器确保正确匹配,支持依赖注入、枚举类处理等,实现跨平台代码重用与原生性能。附带示例展示如何定义跨平台函数与类。
100 0
|
29天前
|
消息中间件 存储 Java
Android消息处理机制(Handler+Looper+Message+MessageQueue)
Android消息处理机制(Handler+Looper+Message+MessageQueue)
44 2
|
5月前
|
API Android开发 开发者
`RecyclerView`是Android API 21引入的UI组件,用于替代ListView和GridView
【6月更文挑战第26天】`RecyclerView`是Android API 21引入的UI组件,用于替代ListView和GridView。它提供高效的数据视图复用,优化的布局管理,支持多种布局(如线性、网格),并解耦数据、适配器和视图。RecyclerView的灵活性、性能(如局部刷新和动画支持)和扩展性使其成为现代Android开发的首选,特别是在处理大规模数据集时。
64 2
|
5月前
|
Java Linux API
微信API:探究Android平台下Hook技术的比较与应用场景分析
微信API:探究Android平台下Hook技术的比较与应用场景分析
|
6月前
|
SQL API Android开发
Android API:Activity.managedQuery()
Android API:Activity.managedQuery()
48 2
|
6月前
|
API 定位技术 开发工具
Android Studio2021.1.1 高德地图api调用这一篇就够了
Android Studio2021.1.1 高德地图api调用这一篇就够了
|
6月前
|
API Android开发
Android Framework增加API 报错 Missing nullability on parameter
Android Framework增加API 报错 Missing nullability on parameter
327 1