[size=x-large][url=http://vjson.com]黑月神话的技术分享[/url][/size]
[size=large][b]Handler概述[/b][/size]
[size=large] Handler在Android开发中非常重要,最常见的使用场景就是在子线程需要更新UI,用Handler来投递消息到主线程执行UI更新操作。因为Android系统的View是非线程安全的,所以需要在主线程更新UI。总的来说Handler就是用来做线程间通信,在不同线程之间传递消息。注:这篇文章所讲到的Handler是在主线程创建的,主线程在开始的时候已经创建了默认的消息循环。后面的文章会讲如何创建自己的消息循环。[/size]
[img]http://vjson.com/wordpress/wp-content/uploads/2015/02/Handler-framework.png[/img]
[size=large] 从图中可以看出,四种颜色分别代表了四个对象,并且大致描述了几个对象之间的关系,以及消息的流转过程,首先Handler通过sendMessage将消息投递给MessageQueue,Looper通过消息循环(loop)不断的从MessageQueue中取出消息,然后消息被Handler的dispatchMessage分发到handleMessage方法消费掉。[/size]
[url=http://vjson.com/wordpress/handler-looper原理分析.html][b][size=large]UML类图分析[/size][/b][/url]
[img]http://vjson.com/wordpress/wp-content/uploads/2015/02/Handler-class-diagram.png[/img]
[size=x-large][b][url=http://vjson.com/wordpress/handler-looper原理分析.html]阅读全文[/url][/b][/size]
[size=large][b]Handler概述[/b][/size]
[size=large] Handler在Android开发中非常重要,最常见的使用场景就是在子线程需要更新UI,用Handler来投递消息到主线程执行UI更新操作。因为Android系统的View是非线程安全的,所以需要在主线程更新UI。总的来说Handler就是用来做线程间通信,在不同线程之间传递消息。注:这篇文章所讲到的Handler是在主线程创建的,主线程在开始的时候已经创建了默认的消息循环。后面的文章会讲如何创建自己的消息循环。[/size]
[img]http://vjson.com/wordpress/wp-content/uploads/2015/02/Handler-framework.png[/img]
[size=large] 从图中可以看出,四种颜色分别代表了四个对象,并且大致描述了几个对象之间的关系,以及消息的流转过程,首先Handler通过sendMessage将消息投递给MessageQueue,Looper通过消息循环(loop)不断的从MessageQueue中取出消息,然后消息被Handler的dispatchMessage分发到handleMessage方法消费掉。[/size]
[url=http://vjson.com/wordpress/handler-looper原理分析.html][b][size=large]UML类图分析[/size][/b][/url]
[img]http://vjson.com/wordpress/wp-content/uploads/2015/02/Handler-class-diagram.png[/img]
[size=x-large][b][url=http://vjson.com/wordpress/handler-looper原理分析.html]阅读全文[/url][/b][/size]