Android讲义3---第三章---异步任务
来源:互联网 发布:java debug模式 编辑:程序博客网 时间:2024/06/16 18:33
Android默认的UI线程阻塞超时是20秒,超过会出现ANR提示。即 等待还是停止 对话框。
繁琐的处理都推荐在新线程处理,但是新线程不能直接更新UI组件,所以Android提供以下解决方案:
1:使用Handler实现线程之间的通讯
2:Activity.runOnUiThread(Runnable)
3:View.post(Runnable)
4:View.postDelayed(Runnable,long)
有更好的方法是使用AsyncTask---异步任务。
AsyncTask<Params,Progress,Result>是一个抽象类,通常用于被继承。
参数解释:
Params:启动任务执行的输入参数
Progress:后天任务完成的进度值
Result:后天执行任务后完成后返回结果
使用AsyncTask需要三步:
1:创建AsyncTask的子类,并为三个泛型参数指定类型,不需要则指定为void。
2:根据需要,实现AsyncTask的如下方法:
doInBackground:重写该方法就是后天将要完成的任务,该方法可以调用publishProgress方法更新执行进度
onProgressUpdate:在doInBackground中调用publishProgress后会触发此方法
onPreExecute:该方法将在执行后台耗时操作前被调用,用于完成初始化工作
onPostExecute:当doInBackground完成后,系统回调该方法,并将doInBackground中的返回值给该方法
3:调用AsyncTask的execute开始执行耗时任务
使用原则:
必须在UI线程中创建AsyncTask实例
必须在UI线程中调用AsyncTask的execute方法
第2点的所有方法,应该是系统回调的,不应该由程序员调用
每个AsyncTask只能被执行一次,多次调用会引发异常
阅读全文
0 0
- Android讲义3---第三章---异步任务
- 使用异步任务下载--疯狂android讲义实例
- Android讲义3---第三章---Android事件概述
- Android讲义3---第三章---Handler消息传递机制
- Android讲义3---第三章---响应系统设置的事件
- 使用libcurl第三方库实现Android异步任务
- 疯狂Android讲义第三版源码
- Android讲义3---第四章---Fragment详解
- Android异步任务AsyncTask
- android异步任务 AsynTask
- Android--AsyncTask异步任务
- 【Android】Async异步任务
- Android AsyncTask异步任务
- Android 异步任务
- Android异步任务
- Android 异步任务 AsyncTask
- android 异步任务 AsyncTask
- android 异步任务
- 大二JS课 课堂笔记
- HDU1004 Let the ballon raise(水题, 字符串的处理)(map简单用法)
- Spring+Shiro+Servlet实现轻量未读消息数量推送
- 线段树入门详解
- Java 中 split 函数分割的特别问题
- Android讲义3---第三章---异步任务
- Primitive Roots POJ
- LightOJ
- Log4j记录日志
- Android讲义3---第三章---Handler消息传递机制
- Learning How to Learn(1)
- Android讲义3---第三章---响应系统设置的事件
- Python小程序:三级菜单
- python app自动化测试 入门篇