浅谈AsyncTask

2015-08-18 20:47 阅读 3,882 次 评论 0 条

AsyncTask是一个异步任务,简单的实现后台运行事务的方式。特点:1、任务在UI线程之外运行,回调方法在UI线程中执行;2、耗时的操作放在后台执行,不用人为的另开线程或者使用Handler来完成;3、AsyncTask相对Handler来说,使用更加方便。

AsyncTask需要重写的方法:

1、onPreExcute()----在执行任务之前调用此方法,可以在这里显示进度对话框

2、doInBackground(Params...)----此方法在后台线程执行,完成任务的主要工作,在执行任务的时候调用此方法

3、publishProgress(Params...)----更新任务的进度

4、onProgressUpdate(Params...)----此方法在UI线程中执行,用于显示任务的进度,接收publishProgress传递过来的参数

5、onPostExcute(Result)----此方法也在UI线程中执行,任务执行的结果作为此onPostExecute()方法参数的返回

 

AsyncTask常用的方法:

1、cancel(boolean mayinterruptIfRunning)----尝试取消任务的这个执行。如果任务不能取消返回false,如果任务正常执行完成,返回true

2、execute(Params...params)----用指定的参数来执行此任务,该方法将会返回此任务本身,必须在UI线程中调用

3、get(long timeout,TimeUnit unit)----等待计算结束并返回结果,最长等待时间为timeout(超时时间)

4、getStatus()----获得任务的当前状态

5、isCancelled()----如果在任务正常结束之前取消任务成功返回true,否则返回false

 

关注公众号 扫一扫二维码,加我QQ

如果文章对你有帮助,欢迎点击上方按钮关注作者

来源:TeachCourse每周一次,深入学习Android教程,关注(QQ158#9359$239或公众号TeachCourse)
转载请注明出处:https://www.teachcourse.cn/340.html ,谢谢支持!
如何使用RadioGroup和RadioButton实现FragmentTabHost导航效果? 如何使用RadioGroup和RadioB
调用相机拍照后截取指定尺寸大小 调用相机拍照后截取指定尺寸大小
Window/Linux下Genymotion快捷键大全 Window/Linux下Genymotion快捷
关于LinearLayout设置权重后width或height不设置0dp的影响说明 关于LinearLayout设置权重后wi

发表评论

呲牙 憨笑 坏笑 偷笑 色 微笑 抓狂 睡觉 酷 流汗 鼓掌 大哭 可怜 疑问 晕 惊讶 得意 尴尬 发怒 奋斗 衰 骷髅 啤酒 吃饭 礼物 强 弱 握手 OK NO 勾引 拳头 差劲 爱你

表情