Handler handler的post方法是在主线程中运行的,并没有另外开一个线程,而handlerThread可以另外开一个线程并且实现循环。为什么还会有post方法。为什么不直接使用Thread或Runnable的start方法。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 直接使用Thread或Runnable的start方法会新开一个线程,使用post只是把run中的代码放到主线程中去执行。 主线程中有一个Looper循环分发消息。当你在主线程中实例化一个Handler的时候,可以通过它的构造函数传递一个你自己创建的Looper,也可以使用所在线程的Looper。然后,你使用Handler的post方法发消息的时候,消息就被发送到创建Handler时所关联的那个Looper中了。而HandlerThread的目的是在一个新的线程中创建了一个Looper,和主线程中的Looper毫不相干,这样,你就可以用HandlerThread创建的Looper来实例化Handler对象了,这时候,你发到消息就跑到新线程的Looper中了。这种情况特别适合后台处理消息的情况。 另外,Runnable接口没有start方法。只有Thread才有start方法。 post的执行体(比如一个runnable),是运行在主线程的,可是post这个函数调用,是可以在工作线程的。 请问有没有使用HandlerThread、handler、Looper实现循环的代码。谢 参考 Android之Handler http://wenku.baidu.com/view/0c4bac671ed9ad51f01df27a.html 支持2楼和3楼,消息的封装是每个消息都对应着自己的handler,1、调用消息的callback 2、调用handler的callback,3、调用handler的handleMessage ;handleThread从线程继承而来,调用时新起了个线程,post是将Runnable直接赋值给了消息的callback,在调用消息的callback时直接调用了run方法,没有新起线程 悲剧啊,android android怎样从byte[]字节数组中读取播放视频 求助 android面试 问几个问题,android? javaeye android 客户端源码 ksoap2不能处理搜狗等一些输入法的自带表情吗? xml序列化特殊字符出错 求解 android 录音问题 问一下这样的导航栏该怎么做求思路 Android 调用h5+页面的时候,提示plus没有定义,如何解决 Android画面间复杂类型参数传递问题 android怎么实现自动解锁,和自动打开应用程序?
http://wenku.baidu.com/view/0c4bac671ed9ad51f01df27a.html