写在前面的话:本系列主要是学习sundy的Android深入浅出视频中的一些记录,心得。方便自己以后查阅。也供大家查看。欢迎交流,补充。
一般作为面试题(有些有答案,有些没有。问题一般从sundy老师思维导图中摘录,答案并非唯一标准,仅供参考):
1、AsyncTask是多线程么?
是的,并且用到了线程池
2、与Handler相比, AsyncTask消耗资源情况如何,为什么?
AsyncTask消耗的 资源更多,Handler比AsyncTask轻量
3、AsyncTask的定义?
Android为了降低异步操作开发难度,在Handler基础上提供了AsyncTask。AsyncTask就是一个封装过的后台任务类,顾名思义就是异步任务。
----------总结----------
1、AsyncTask定义了三种泛型类型 Params,Progress和Result。
Params 启动任务执行的输入参数,比如HTTP请求的URL。
Progress 后台任务执行的百分比。
Result 后台执行任务最终返回的结果,比如String。
2、AsyncTask方法:
1)必选方法:
doInBackground(Params…) 后台执行,比较耗时的操作都可以放在这里。注意这里不能直接操作UI。此方法在后台线程执行,完成任务的主要工作,通常需要较长的时间。在执行过程中可以调用publicProgress(Progress…)来更新任务的进度。
onPostExecute(Result) 相当于Handler 处理UI的方式,在这里面可以使用在doInBackground 得到的结果处理操作UI。 此方法在主线程执行,任务执行的结果作为此方法的参数返回
2)可选方法:
onProgressUpdate(Progress…) 可以使用进度条增加用户体验度。 此方法在主线程执行,用于显示任务执行的进度。
onPreExecute() 这里是最终用户调用Excute时的接口,当任务执行之前开始调用此方法,可以在这里显示进度对话框。
onCancelled() 用户调用取消时,要做的操作
3、AsyncTask三个状态:pending , running , finished
4、使用AsyncTask类,遵守的准则:
Task的实例必须在UI thread中创建;
execute方法必须在UI thread中调用;
不要手动的调用onPreExecute(), onPostExecute(Result),doInBackground(Params...);onProgressUpdate(Progress...)这几个方法;
该task只能被执行一次,否则多次调用时将会出现异常;
分享到:
相关推荐
Android异步任务下载一张图片,关键是异步任务的流程,带进度条的异步任务
基于Android的AsyncTask异步任务, Android的AsyncTask将复杂的数据处理交由子线程, 将处理过程交由主线程处理
android录音上传到服务器,上传使用AsyncTask异步任务,包含PHP服务器端,绝对能用。 就这个功能搞了 近2天,网上的内容都是同质化的,基本都是一个方式实现的 很郁闷,这个亲测绝对能用,不会用的 联系
android录音上传到服务器,上传使用AsyncTask异步任务.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
AsyncTask_简单演示AsyncTask异步操作,写一个简单的AsyncTask异步操作解决上一篇文章提到的线程阻塞问题,对应我的博客《网易博客迁移:Android专题之AsyncTask(二)简单演示AsyncTask异步操作》,有问题欢迎留言...
AsyncTask 异步多线程加载Demo
通过AsyncTask 从网络上异步加载一张图片
这是一个完整的android AsyncTask异步任务的完整实例的demo,你可以直接运行在虚拟机和真实机
android录音上传到服务器,上传使用AsyncTask异步任务源码
android录音上传到服务器,上传使用AsyncTask异步任务
Android AsyncTask异步处理下载网页
AsyncTask异步线程:获得网络数据、网络图片浏览器
简单的AsyncTask异步线程下载图片示例
Android AsyncTask用法和异步加载图片通过AsyncTask 从网络上异步加载一张图片
android录音上传到服务器,上传使用AsyncTask异步任务.zip
Android应用源码之android录音上传到服务器,上传使用AsyncTask异步任务.zip
android异步任务加载组件,是我们常用的。该demo详细的介绍了,如何通过异步加载数据,很适合处学者的开发。
android录音上传到服务器,上传使用AsyncTask异步任务
安卓开发-android录音上传到服务器,上传使用AsyncTask异步任务.zip
安卓Andriod源码——录音上传到服务器,上传使用AsyncTask异步任务.zip