温馨提示×

AsyncTask的回调方法有哪些

小樊
81
2024-09-02 16:42:17
栏目: 编程语言

在Android中,AsyncTask是一个用于执行后台任务并在UI线程中更新UI的轻量级类

  1. onPreExecute():在后台任务开始执行之前调用。这个方法在UI线程中运行,因此可以在这里进行UI操作,例如显示一个进度条。

  2. doInBackground(Params... params):在这个方法中执行后台任务。这个方法在一个单独的线程中运行,因此不能在这里进行UI操作。根据需要,可以通过调用publishProgress(Progress... values)方法来更新UI。

  3. onProgressUpdate(Progress... values):当后台任务调用publishProgress(Progress... values)方法时,这个方法会被调用。这个方法在UI线程中运行,因此可以在这里更新UI,例如更新进度条的值。

  4. onPostExecute(Result result):在后台任务完成后调用。这个方法在UI线程中运行,因此可以在这里进行UI操作,例如更新UI组件或隐藏进度条。

  5. onCancelled():当后台任务被取消时调用。这个方法在UI线程中运行,因此可以在这里进行UI操作,例如更新UI组件或隐藏进度条。

  6. onCancelled(Result result):当后台任务被取消且返回结果时调用。这个方法在API 11及更高版本中引入,它在UI线程中运行,因此可以在这里进行UI操作,例如更新UI组件或隐藏进度条。

注意:从Android 11(API 29)开始,AsyncTask已被标记为过时(deprecated),建议使用其他技术,如ExecutorServiceHandlerViewModelLiveData等,来实现后台任务和UI更新。

0