android中asynctask和thread的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android中asynctask和thread的区别相关的知识,希望对你有一定的参考价值。

AsyncTask实现的原理和适用的优缺点
AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程.
使用的优点:
简单,快捷
过程可控
使用的缺点:
在使用多个异步操作和并需要进行Ui变更时,就变得复杂起来。

thread是java中的线程类,在andoid中其实通过Handler实现的。

Handler的特点
Handler可以分发Message对象和Runnable对象到主线程中, 每个Handler实例,都会绑定到创建他的线程中,
它有两个作用:
(1)安排消息或Runnable 在某个主线程中某个地方执行
(2)安排一个动作在不同的线程中执行
Handler中分发消息的一些方法
post(Runnable)
postAtTime(Runnable,long)
postDelayed(Runnable long)
sendEmptyMessage(int)
sendMessage(Message)
sendMessageAtTime(Message,long)
sendMessageDelayed(Message,long)
以上post类方法允许你排列一个Runnable对象到主线程队列中,
sendMessage类方法, 允许你安排一个带数据的Message对象到队列中,等待更新
参考技术A 怎样过这一生

以上是关于android中asynctask和thread的区别的主要内容,如果未能解决你的问题,请参考以下文章

Android中使用Thread线程与AsyncTask异步任务的区别

AsyncTask 和 Thread 之间的真正区别

Android中AsyncTask使用具体解释

Android_AsyncTask学习

Android:需要一个使用的想法:Service、Thread、AsyncTask 或其他东西

Android多线程分析之五:使用AsyncTask异步下载图像