在Android中,AsyncTask是一个用于执行后台任务并在UI线程中更新UI的轻量级类
onPreExecute():在后台任务开始执行之前调用。这个方法在UI线程中运行,因此可以在这里进行UI操作,例如显示一个进度条。
doInBackground(Params... params):在这个方法中执行后台任务。这个方法在一个单独的线程中运行,因此不能在这里进行UI操作。根据需要,可以通过调用publishProgress(Progress... values)方法来更新UI。
onProgressUpdate(Progress... values):当后台任务调用publishProgress(Progress... values)方法时,这个方法会被调用。这个方法在UI线程中运行,因此可以在这里更新UI,例如更新进度条的值。
onPostExecute(Result result):在后台任务完成后调用。这个方法在UI线程中运行,因此可以在这里进行UI操作,例如更新UI组件或隐藏进度条。
onCancelled():当后台任务被取消时调用。这个方法在UI线程中运行,因此可以在这里进行UI操作,例如更新UI组件或隐藏进度条。
onCancelled(Result result):当后台任务被取消且返回结果时调用。这个方法在API 11及更高版本中引入,它在UI线程中运行,因此可以在这里进行UI操作,例如更新UI组件或隐藏进度条。
注意:从Android 11(API 29)开始,AsyncTask已被标记为过时(deprecated),建议使用其他技术,如ExecutorService、Handler、ViewModel和LiveData等,来实现后台任务和UI更新。