android中关于AsyncTask的学习

1:AsyncTask

AsyncTask是Android提供的异步执行机制,可以方便的将一些工作转移到新的线程里去执行,执行过程中或完毕后调用回调函数进行界面更新及其他处理工作。(因为UI的操作是不能在线程中做的,这不仅仅是Android的限制,也是几乎所有GUI系统的限制)

在本项目中,需要异步执行的地方很多,基本的Task模式是这样:

  1. 在doXXX函数中首先判断是否当前任务是否正在运行。如果是则直接退出,否则新建一个任务并用execute方法启动之。 顺便说一句,现有的逻辑会造成Task被重复new,这里需要修改。
  2. Task启动前先执行onPreExecute,然后后台执行doBackground,并在执行过程中通过publishProgress向主线程报告进度,主线程在onProgressUpdate回调中进行处理。
  3. 执行结束视情况调用onPostExecute或onCancelled。
  4. 在Activity被Destory时,我们要cancel所有正在运行的Task,以防止Task的重入。

 

 

你可能感兴趣的:(UI,android,工作,任务)