Android Handler机制原理

我们知道android也有多线程开发,包括主线程(main thread)和子线程,通常我们把主线程称之为UI线程,也即是界面线程。
平时我们开发中可能会遇到一种情况:我们开启一个子线程来更新UI组件会导致程序抛出异常,如:Only the original thread that created a view hierarchy can touch its views,换句话说就是只有主线程才可更新UI。
到这里读者会认为那子线程是没法更新UI了,那你就大错特错了。换种思路,既然不能直接更新,那应该可以间接实现更新吧,对,非常正确!这时我们就要借助Handler来实现这一要求。

一、线程原理

我们启动一个android应用,默认的会产生一个UI线程、一个消息队列(message queue)以及轮询器Looper,Looper不断查询消息队列里头的消息,如果不为空,则会取出给handler处理器进行处理。

二、Handler机制核心原理

下面以图片的形式来看:
这里写图片描述

如果觉得本博客写得好的话,请点个赞呗

猜你喜欢

转载自blog.csdn.net/wufeiqing/article/details/50434543