android AsyncTask
一 作用
(1) AsyncTask可以实现简单合理地使用UI线程,这个类允许进行后台操作并将结果实时更新到UI线程中去,且不需要与handler与thread打交道。
二、如何使用
定义三个基本类型(Params
, Progress
and Result
),四个步骤, called begin
, doInBackground
, processProgress
and end
.
onPreExecute(), 任务被执行后,立即被调用,运行在UI线程,一般用于做一些初始化工作。
Result doInBackground(Params params)函数中的参数为Params,通过execute函数传入,在onPreExecute执行完后立即被调用,运行在后台线程中。
publishProgress,用于动态展示任务执行的百分比,或者显示Logs。
void onPostExecute(Result result) ,Result 为doInBackground返回的结果.该方法在计算完成后在UI线程中被调用。
线程规则:
(1)任务的初始化,和执行函数必须在UI线程中调用。
(2)不能调用 onPreExecute()onPostExecute(),doInBackground(),onProgressUpdate()
(3)任务只能被执行一次。