AsyncTask
来源:互联网 发布:office 2017 for mac 编辑:程序博客网 时间:2024/05/01 13:18
一.AsyncTask的泛型类型:
这三个类型被用于一个异步任务,如下:
1 Params,启动任务执行的输入参数
2 Progress,后台任务执行的百分比
3 Result,后台计算的结果类型
二.当一个异步任务被执行,任务经过四各步骤:
1.onPreExecute()
,在UI线程上调用任务后立即执行。这步通常被用于设置任务,例如在用户界面显示一个进度条。
2.doInBackground(Params...)
,后台线程执行onPreExecute()完后立即调用,这步被用于执行较长时间的后台计算。异步任务的参数也被传到这步。计算的结果必须在这步返回,将传回到上一步。在执行过程中可以调用publishProgress(Progress...)
来更新任务的进度。
3.onProgressUpdate(Progress...)
,一次呼叫 publishProgress(Progress...)
后调用 UI线程。执行时间是不确定的。这个方法用于当后台计算还在进行时在用户界面显示进度。例如:这个方法可以被用于一个进度条动画或在文本域显示记录。
4.onPostExecute(Result)
, 当后台计算结束时,调用 UI线程。后台计算结果作为一个参数传递到这步。
三.线程的规则:
1.有一些线程规则必须去遵守,这个类才会正确的工作:
2.任务实例必须创建在 UI线程
3.execute(Params...)
必须在UI线程上调用
4.不要手动调用
onPreExecute()
, onPostExecute(Result)
, doInBackground(Params...)
, onProgressUpdate(Progress...)
5.这个任务只执行一次(如果执行第二次将会抛出异常)
- AsyncTask
- ASyncTask
- AsyncTask
- AsyncTask
- AsyncTask
- AsyncTask
- AsyncTask
- AsyncTask
- AsyncTask
- AsyncTask
- AsyncTask
- AsyncTask
- AsyncTask
- AsyncTask
- AsyncTask
- AsyncTask
- AsyncTask
- AsyncTask
- 了解#pragma pack(n)
- cgi之c语言 入门
- 关于主函数的返回值
- 面试题 在从1到n的正数中1出现的次数 的一个解题思路
- 基于DSP/BIOS的程序开发
- AsyncTask
- 如何设置使Windows XP实现自动登录
- 翘尾巴
- 一个二级指针引发的问题
- poj3301_三分角度(旋转图形)
- SCOM:Synchronized COMmunication module 同步通讯机制
- centos 5.5 开启selinux支持apache ftp phpmyadmin方案
- javascript 操作radio和checkbox
- 转一篇关于浏览器兼容性的小结