AsyncTask使适当的和易用的UI线程。这个类允许执行后台操作并在用户界面上发布结果,而不必处理线程和/或处理程序。
AsyncTask的设计是围绕线程和处理器的一个辅助类,并不构成一个通用的线程框架。asynctasks应该用于短作业(最多。几秒钟)如果你需要保持线程运行很长一段时间,我们强烈建议您使用不同的java.util.concurrent包如执行API提供的,线程池和futuretask。
异步任务是由在后台线程上运行的计算定义的,其结果是在用户界面线程上发布的。一个异步任务是由3的泛型类型定义为参数,过程和结果,和4个步骤,称为onpreexecute,doInBackground,onProgressUpdate和onpostexecute。
AsyncTask的设计是围绕线程和处理器的一个辅助类,并不构成一个通用的线程框架。asynctasks应该用于短作业(最多。几秒钟)如果你需要保持线程运行很长一段时间,我们强烈建议您使用不同的java.util.concurrent包如执行API提供的,线程池和futuretask。
异步任务是由在后台线程上运行的计算定义的,其结果是在用户界面线程上发布的。一个异步任务是由3的泛型类型定义为参数,过程和结果,和4个步骤,称为onpreexecute,doInBackground,onProgressUpdate和onpostexecute。
handler:
主线程不能进行耗时操作 handler要开一个子线程进行进行耗时操作,所以handler要开一个子线程,handler就是一个句柄 子线程封装message发送给主线程
发送到消息队列messageQueue,用looper去取messageQueue,给主线程的handler
AsyncTask的使用场景:
AsyncTask是一个异步线程,处理短时间的异步任务,适用场景是网络访问完成后更新UI或者一边访问网络一边更新UI