前言
在安卓中,UI线程就是程序的主线程,是用来控制程序图形界面的操作的,对图形界面的操作必须在主线程中进行,而网络相关的操作是不允许在安卓主线程中进行的,因此我们需要异步的进行网络操作。实现异步操作有不少办法,下面介绍一种常见的办法:AsyncTask。
AsyncTask是安卓中常用来执行需要与UI进行交互的异步任务的类,它可以在后台处理一些简单的异步任务,并且能够在不使用Thread或Handlers的情况下将异步操作的结果传递给UI。它是被设计用来处理一些耗时相对比较短的任务的,通常处理的操作都是能在几秒内完成的。如果需要处理更长的耗时操作,建议去使用Executor, ThreadPoolExecutor 或者 FutureTask这样的类。
类型
AsyncTask是一个模板类,有三个基本类型:AsyncTask<Params,Progress,Result>
。
Params
:execute
方法传入doInBackground
的参数类型.Progress
:publishProgress
方法传入onProgressUpdate
的参数类型