Android中启动线程的方法:
1. 直接调用线程的start方法,真正的启动一个线程
2. 利用Handler的post方法,调用一个Runnable的run方法
可见第二种方法并未真正的启动一个线程。
问题就来了:
1,Android中第二种方法的意义是什么?
2,在onCreate方法中,进行耗时操作时(例如从网络下载数据),通常是启动一个线程来完成,避免主线程的阻塞。那么使用post方法,是否能够达到同样的目的。
一般的Handler确实没有启动一个线程。除非用handlerThread才可以,并且handlerThread要先start,再将它的looper传给handler。
问题1:
其实handler的可以说提供了一个线程间通信的很好的方法。
问题2 :
用post,在没用handlerThread的情况下,handler就是使用的实例化它的那个线程的资源,这里就是UI线程,也就是肯定会把UI阻了
handler是android系统中,子线程和UI线程通讯的传递员,最终handler中的handMessage方法是UI线程来调用的,也就意味着,在重写handMessage方法里,不要将耗时的操作放在这个方法里,因为这个方法,只是主现在用来更新UI的。
分享到:
相关推荐
Android线程结束——合理的结束你想结束的线程
浅谈android线程模型
android 线程之间通过Handler发送消息实例
android 线程间通讯
从现实生活中理解android 线程消息机制
Delphi XE5例子中的一个Android线程使用的代码AnonymousThread
Android线程间通信的Message机制Android线程间通信的Message机制Android线程间通信的Message机制Android线程间通信的Message机制Android线程间通信的Message机制
android线程启动方法源代码 本例子实现了android中线程启动的方法 有助于初学者学习
本例中简单运用了线程间通信原理,简单明了,适合初学线程通信
线程开启,暂停,恢复,退出操作简易实现demo
Android线程间 massage 机制
android 线程详解 各种经典 完整代码
Demo演示android线程通信机制的实现方式
【Android开发入门】Android线程之Handler
Async Android 线程异步代码,一个线程控制UI,一个线程完成网络加载工作。
1,讲解android线程知识 2,代码附注释, 3,已调试通过
NULL 博文链接:https://chimer.iteye.com/blog/1040731
Android 线程同步Demo,具体介绍请查看博客,http://blog.csdn.net/u011315960/article/details/70209621
Android 线程看门狗版本号描述日期(更新日期)/更新人1.0Android线程看门狗2018/11/12 刘志保Githubhttps://github.
深理解android 线程消息机制教程,android的线程和消息机制比较特殊,让人理解起来比较费劲,这门教程让你能够很容易理解。