Android中Handler,线程相关问题

转载 2012年03月23日 15:17:59

http://www.oschina.net/android/78/handler-and-thread

Android的控件是非线程安全的,在其他线程中操作主线程的控件将可能发生意外的情况,因此设计者希望对控件的操作依然交给主线程去完成,但在其他线程中,我们希望有一种机制去通知主线程去改变控件,于是Handler诞生了。这有点类似C#中的委托,但因为Java中的函数本身不能作为其他函数的参数,我们只能通过发送某个消息来告知主线程中的这个函数:你该如何操作某个控件了!

Handler对象也是运行一个线程上的,默认的空构造函数的Handler将会运行在创建它的线程上。也就是说,样例代码中的Handler是运行在主线程上的一个对象,它拥有一个接受消息的回调函数,这里可以处理一些逻辑,因为它是运行在主线程上的,所以它可以安全的操作控件。而在另一个线程中,我们可以截获Handler的Message,它就向一个邮递员,我们把要送达的信塞给他,然后告诉他:你快送过去吧!而信里则是你希望收信者做的事,邮递员根本没必要知道具体的任务。最终邮递员将信送达,主线程上的收信者拆开信封,看到“50”,他立刻明白:发信者要我把进度改成50%。

如果文字太过枯燥,看一下生动的图片吧:

 

android Thread 非线程更新UI界面(handler,runOnUiThread)解决图片加载慢的问题

Android异步处理系列文章索引参考文献: Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面 Android异步处理二:使用AsyncTask...
  • zwx622
  • zwx622
  • 2014年10月13日 13:24
  • 1079

android 线程之间通过Handler发送消息

  • 2017年02月20日 11:44
  • 3.16MB
  • 下载

android handler和线程的简单实例

  • 2016年06月21日 10:34
  • 1.11MB
  • 下载

Android线程1 Handler处理更新UI子线程问题

我们知道,每个eActivity都有一个Main线程,也称之为UI线程,当在子线程中更新UI线程中的元素就会出现Crash。解决方式就是通过handler解决。现在上代码,demo很简单,使用子线程更...

Android_Handler的线程队列Demo

  • 2015年12月07日 00:03
  • 2.53MB
  • 下载

线程阻塞与Handler相关超详细原理讲解

转载请标明出处: http://blog.csdn.net/vinicolor/article/details/49642861; Handler的重要性我就不多说了,想学习Android的...

android线程handler、message、looperDEMO

  • 2014年03月02日 15:52
  • 1.41MB
  • 下载

关于handler在子线程中无法给activity传递信息的问题及解决办法

遇到一个问题,我在与服务器交互信息时,开启了另一个线程,并未这个线程(子线程)传入了handler,得到服务器返回的结果后,我开启了Looper,然后调用handler.sendMessage()想把...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android中Handler,线程相关问题
举报原因:
原因补充:

(最多只允许输入30个字)