没有合适的资源?快使用搜索试试~ 我知道了~
活用Android的Message Queue
需积分: 17 6 下载量 140 浏览量
2010-11-25
23:01:41
上传
评论
收藏 119KB DOC 举报
温馨提示
试读
6页
1. Message Queue的角色 在你的Android程序里,新诞生一个线程,或称执行(Thread)时,并不会自动建立其Message Loop。 Android里并没有Global的Message Queue数据结构,例如,不同APK里的对象不能透过Massage Queue来交换讯息(Message)。 一个线程可以诞生一个Looper之对象,由它来管理此线程里的Message Queue。 你可以诞生Handler之对象来与Looper沟通,以便push新讯息到Message Queue里;或者接收Looper(从Message Queue取出)所送来的讯息。 线程A的Handler对象参考可以传递给别的线程,让别的线程B或C等能送讯息来给线程A(存于A的Message Queue里)。 线程A的Message Queue里的讯息,只有线程A所属的对象可以处理之。 使用Looper.myLooper可以取得目前线程的Looper对象参考值。 使用mHandler = new EevntHandler(Looper.myLooper()); 可诞生用来处理目前线程的Handler对象;其中,EevntHandler是Handler的子类别。 使用mHandler = new EevntHandler(Looper.getMainLooper()); 可诞生用来处理main线程的Handler对象;其中,EevntHandler是Handler的子类别。
资源详情
资源评论
资源推荐
讲义摘录之 26: 活用 Android 的 Message
Queue(1/3)
1. Message Queue 的角色
在你的 Android 程序里,新诞生一个线程,或称执行(Thread)时,并不会自动建立其
Message Loop。
Android 里并没有 Global 的 Message Queue 数据结构,例如,不同 APK 里的对象不
能透过 Massage Queue 来交换讯息(Message)。
一个线程可以诞生一个 Looper 之对象,由它来管理此线程里的 Message Queue。
你可以诞生 Handler 之对象来与 Looper 沟通,以便 push 新讯息到 Message Queue
里;或者接收 Looper(从 Message Queue 取出)所送来的讯息。
线程 A 的 Handler 对象参考可以传递给别的线程,让别的线程 B 或 C 等能送讯息来给线
程 A(存于 A 的 Message Queue 里)。
线程 A 的 Message Queue 里的讯息,只有线程 A 所属的对象可以处理之。
使用 Looper.myLooper 可以取得目前线程的 Looper 对象参考值。
使用 mHandler = new EevntHandler(Looper.myLooper()); 可诞生用来处理目前线
程的 Handler 对象;其中,EevntHandler 是 Handler 的子类别。
使用 mHandler = new EevntHandler(Looper.getMainLooper()); 可诞生用来处理
main 线程的 Handler 对象;其中,EevntHandler 是 Handler 的子类别。
2. 范例之一:Looper 物件之角色
Looper 类别用来管理特定线程内对象之间的讯息交换(Message Exchange)。你的应用
程序可以诞生许多个线程,或称执行绪(Thread)。而一个线程可以诞生许多个对象,这些对象
之间常常需要互相交换讯息。如果有这种需要,您可以替线程诞生一个 Looper 类别之对象,
来担任讯息交换的管理工作。Looper 对象会建立一个 MessageQueue 数据结构来存放各对
象传来的讯息(包括 UI 事件或 System 事件等)。如下图:
每一个线程(Thread,或称「执行绪」)里可含有一个 Looper 对象以及一个
MessageQueue 数据结构。在你的应用程序里,可以定义 Handler 的子类别来接收 Looper
所送出的讯息。
//----- Looper_01
范例
-----
package com.misoo.kx04;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.os.Handler;
RamBo_jay
- 粉丝: 392
- 资源: 77
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0