【Android】工作线程意图修改主线程中的布局

来源:互联网 发布:内网管控软件 编辑:程序博客网 时间:2024/06/01 09:00

众所周知,其他线程不能直接修改UI线程的布局,同时在主线程中也不能进行耗时操作,后者容易出现anr错误。

那么这么多工作在other线程完成后,怎么更新ui呢,这就需要使用Handler了,handler表面意思是处理,它处理的是消息Message,所要处理的消息像被放在一条传送带上一样被送过来由Handler处理,处理方法是handleMessage(),那么这么多消息是从哪来的呢,还是Handler获得的,Handler对象调用obtain(),得到消息message,消息可以载上一些我们需要的重要信息,最后使用handler的sendMessage()方法,把消息放到传送带(消息队列MessageQueue)上,最后由Looper消息泵把消息拿出来。

这个过程主要需要以下几个类:Handler、Message、MessageQueue、Looper。

详细的可以看看别人写的博客:Android中的Handler, Looper, MessageQueue和Thread


0 0