android AsyncTask

一  作用

  (1) AsyncTask可以实现简单合理地使用UI线程,这个类允许进行后台操作并将结果实时更新到UI线程中去,且不需要与handler与thread打交道。

二、如何使用

      定义三个基本类型(ParamsProgress 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)任务只能被执行一次。

原文地址:https://www.cnblogs.com/meizixiong/p/2964729.html