Android中的AsyncTask
来源:互联网 发布:东莞淘宝美工培训 编辑:程序博客网 时间:2024/06/14 11:25
Android中的AsyncTask
Android中必须在主线程处理UI,否则会引起一些意想不到的问题。然而有些任务必须处理UI而且耗时长,有可能阻塞主线程。AsyncTask是异步线程,可以方便处理这类和UI线程相关的任务。一个AsyncTask有3个泛型参数Params, Progress and Result和4个步骤begin, doInBackground, processProgress and end。AsyncTask经常用于解决Android UI堵塞问题。要使用AsyncTask必须继承它并实现它的doInBackground函数,通常还实现onPostExecute(Result)函数。同时AsyncTask必须在主线程(即UI线程)中被调用。
下面是官方说明文档的一个例子:
三个泛型参数(在定义一个AsyncTask时指定):
1.Params,当执行时,发送给任务的参数
2.Progress,在后台计算期间,计算进度的类型
3.Result,后台计算返回的结果类型
四个步骤:
1. onPreExecute() 执行execute前被调用,可以在此为后台处理做一些相应的准备工作,它运行于UI线程
2.doInBackground(Params...),后台进程执行的具体计算在这里实现,调用execute后,并且执行完onPreExecute后被调用,必须重载这个方法。在这个方法内在后台运行,和主线程独立。
3.onProgressUpdate(Progress...),运行于UI线程。可以在在doInBackground(Params...)中使用以改变UI。
4.onPostExecute(Result),运行于UI线程,参数就是doInBackground(Params...)的返回值。此方法也要经常重载。
以下是使用它时的注意事项:
1.它的任务示例必须在主线程中创建
2.Execute函数必须在主线程中调用
3.不要人为地调用onPreExecute(), onPostExecute(Result), doInBackground(Params...), onProgressUpdate(Progress...)
4.每个任务只能调用一次execute函数
一些常用的例子是使用AsyncTask访问数据库和从网络下载图片。
- Android中的AsyncTask
- Android中的AsyncTask
- 小结android中的AsyncTask
- 详解android中的AsyncTask
- Android中的AsyncTask
- Android中的AsyncTask
- Android中的AsyncTask
- android中的AsyncTask例子
- Android中的AsyncTask
- Android中的利器-AsyncTask
- android中的AsyncTask异步操作
- Android中的AsyncTask的使用
- android中的AsyncTask异步操作
- Android中的Handler和AsyncTask
- Android中的handler和AsyncTask
- Android中的多线程之AsyncTask
- Android中的AsyncTask异步类
- Android中的AsyncTask机制理解
- 浙大ZOJ PAT practice – 1005
- Vim的分屏功能
- js怎样向Servlet传递参数
- Android 使用Matrix进行图像变换
- 摘抄:系统进程
- Android中的AsyncTask
- preg_replace 正则替代 小例子
- Java中读取控制台输入
- 根据某一字段值相同合并字符串 - - SQL
- VS 2008 OpenGL 配置
- SDRAM工作原理和初始化参数
- 加油啊
- 杂谈:adobe air 安装问题?
- 好的java博客地址