AsyncTask

简介: http://developer.android.youdaxue.com/reference/android/os/AsyncTask.htmlpublic abstract class AsyncTask extends Objectjava.lang.Objectandroid.os.AsyncTask<Params, Progress, Result>

http://developer.android.youdaxue.com/reference/android/os/AsyncTask.html


public abstract class AsyncTask extends Object


java.lang.Object


android.os.AsyncTask<Params, Progress, Result>


AsyncTask enables proper and easy use of the UI thread. This class allows you to perform background operations and publish results on the UI thread without having to manipulate threads and/or handlers.


AsyncTask is designed to be a helper class around Thread and Handler and does not constitute a generic threading framework. AsyncTasks should ideally be used for short operations (a few seconds at the most.) If you need to keep threads running for long periods of time, it is highly recommended you use the various APIs provided by the java.util.concurrent package such as Executor,


ThreadPoolExecutor and FutureTask.


An asynchronous task is defined by a computation that runs on a background thread and whose result is published on the UI thread. An asynchronous task is defined by 3 generic types, called Params, Progress and Result, and 4 steps, called onPreExecute, doInBackground, onProgressUpdate and onPostExecute.


AsyncTask 是易于使用的 Android 类,它允许在后台线程上执行任务,从而不会中断主线程。要使用 AsyncTask,你应该定义它的子类,就像我们对 FetchWeatherTask 所做的那样。有四个重要的方法会被重载:


  • onPreExecute - 在任务启动前,此方法在 UI 上运行,并且负责任何需要完成的设置。


  • doInBackground - 这是你要脱离主线程完成的实际任务的代码。它将在后台线程上运行,并且不会中断 UI。


  • onProgressUpdate - 此方法在 UI 线程上运行,并且用于显示任务的进度(例如显示加载条动画)。


  • onPostExecute - 在任务完成之后,此方法在 UI 上运行。


请注意,在启动 AsyncTask 后,它会关联到启动它的 Activity 。在 Activity 被销毁时(例如旋转手机时),你启动的 AsyncTask 将引用被销毁的 Activity 而不是新创建的 Activity。这就是 AsyncTask 用于长时间运行的任务很危险的原因之一。




目录
相关文章
|
6月前
|
Android开发
40. 【Android教程】AsyncTask:异步任务
40. 【Android教程】AsyncTask:异步任务
147 2
|
7月前
|
安全 API 数据库
【转】Android线程模型(AsyncTask的使用)
【转】Android线程模型(AsyncTask的使用)
48 1
|
安全 Java Android开发
Android 中AsyncTask后台线程,异步任务的理解
Android 中AsyncTask后台线程,异步任务的理解
165 0
|
Java Android开发
【Android 异步操作】AsyncTask 异步任务 ( FutureTask 模拟 AsyncTask 执行过程 | AsyncTask 执行过程回顾 | FutureTask 分析 )
【Android 异步操作】AsyncTask 异步任务 ( FutureTask 模拟 AsyncTask 执行过程 | AsyncTask 执行过程回顾 | FutureTask 分析 )
199 0
|
Android开发 UED 数据格式
|
Android开发 UED 开发者
|
Java Android开发 安全