当前位置: 首页 > 工具软件 > AsynTask > 使用案例 >

AsynTask使用简介

王翰墨
2023-12-01

          AsynTask只要几个方法,

  • onPreExecute() 该方法将在执行实际的后台操作前被UI thread调用。这个方法只是做一些准备工作,如在界面上显示一个进度条。
  • doInBackground(Params...), 将在onPreExecute 方法执行后马上执行,该方法运行在后台线程中。这里将主要负责执行那些很耗时的后台计算工作。
  • publishProgress 该方法来更新实时的任务进度。该方法是抽象方法,子类必须实现。
  • onProgressUpdate(Progress...), 在publishProgress方法被调用后,UI thread将调用这个方法从而在界面上展示任务的进展情况,可以通过一个进度条进行展示。
  • onPostExecute(Result), 在doInBackground 执行完成后,onPostExecute 方法将被UI thread调用,后台的计算结果将通过该方法传递到UI thread.
       AsynTask三个参数:
第一个参数:传入doInBackground()方法的参数类型 
第二个参数:传入onProgressUpdate()方法的参数类型
第三个参数:传入onPostExecute()方法的参数类型,也是doInBackground()方法返回的类型

         注意!!!doInBackground是在子线程中运行  onProgressUpdate是在主线程中运行    onPostExecute在主线程中运行
        AsynTask初始化, execute 方法要在主线程中运行,
       不要手动的调用onPreExecute(), onPostExecute(Result),doInBackground(Params...),         onProgressUpdate(Progress...)这几个方法
  • 一个AsyncTask对象只能执行一次,即只能调用一次execute方法,否则会报运行时异常

     ps:AsynTask的串并行问题,没遇到过,不过一片博客分析的挺不错的,可以参考下:

本篇文章参考了下面博客,都挺不错的,大家可以去看看

 类似资料: