文件名称:活用Android的Message Queue
文件大小:119KB
文件格式:DOC
更新时间:2013-12-15 16:48:21
Android,Message Queue,looper
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的子类别。