Handler总结
来源:互联网 发布:sql显示前10行 编辑:程序博客网 时间:2024/05/29 11:38
android.os.Handler
一、Handler用途
Handler在android里负责发送和处理消息。它的主要用途有:
1)按计划发送消息或执行某个Runnanble(使用POST方法);
2)从其他线程中发送来的消息放入消息队列中,避免线程冲突(常见于更新UI线程)默认情况下,Handler接受的是当前线程下的消息循环实例(使用Handler(Looper looper)、Handler(Looper looper, Handler.Callback callback)可以指定线程),同时一个消息队列可以被当前线程中的多个对象进行分发、处理(在UI线程中,系统已经有一个Activity来处理了,你可以再起若干个Handler来处理)。在实例化Handler的时候,Looper可以是任意线程的,只要有Handler的指针,任何线程也都可以sendMessage。Handler对于Message的处理不是并发的。一个Looper 只有处理完一条Message才会读取下一条,所以消息的处理是阻塞形式的(handleMessage()方法里不应该有耗时操作,可以将耗时操作放在其他线程执行,操作完后发送Message(通过sendMessges方法),然后由handleMessage()更新UI)。
二、Handler、Looper及Message Queue的关系
Looper与MessageQueue一一对应,创建一个Looper的同时会创建一个MessageQueue,一个线程对应一个Looper,在系统UI主线程中,系统会自动帮我们创建一个Looper和MessageQueue,在其它线程里,如果不创建Looper和MessageQueue,Handler将不能处理消息。Message经Handler发送到MessageQueue中,然后通过Looper取出来后交给Handler处理,循环了一圈正好将同步操作变成了异步操作。Handler里会引用当前线程里的特定Looper和MessageQueue来处理消息,在同一线程中的多个Handler都可以共享在这个线程中的同一个Looper和MessageQueue。
三、Handler使用
内部类 Handler.CallBack:public abstract boolean handleMessage (Message msg) ------ 处理消息函数(当不想由Handler子类实现handleMessage时使用)
- Handler总结
- Handler总结
- Handler总结
- Handler总结
- Handler总结
- handler总结
- Handler总结
- Handler总结
- handler总结
- handler总结
- Handler总结
- Handler总结
- Handler总结
- Android的Handler总结
- android:Handler整理总结
- Android Handler总结
- Android的Handler总结
- Android的Handler总结
- 计算页面执行时间的两种方法
- String contains an invalid character
- ZJU 3418 Binary Number
- ABAP - 程序模板 - 表维护
- 信号量 互斥锁 条件变量的区别
- Handler总结
- iccid
- Jackrabbit OCM(二)——ObjectContentManager对象
- hdu 1385 Minimum Transport Cost
- 远控软件gh0st源码免杀之我谈
- 程序编码
- Usaco 1.2.4 回文平方数(Palindromic Squares)
- 关于java的初始化顺序
- v8 js 转载!~简介!~