使用AsyncTask类遵守的准则:

1  Task的实例必须在UI thread中创建;

2  Execute方法必须在UI thread中调用;
3  不要手动的调用onPfreexecute(),onPostExecute(result)Doinbackground(params…),onProgressupdate(progress…)这几个方法;
4 该task只能被执行一次,否则多次调用时将会出现异常;
AsyncTask的整个调用过程都是从execute方法开始的,一旦在主线程中调用execute方法,就可以通过onpreExecute方法,这是一个预处理方法,比如可以在这里开始一个进度框,同样也可以通过onprogressupdate方法给用户一个进度条的显示,增加用户体验;最后通过onpostexecute方法,相当于handler处理UI的方式,在这里可以使用在doinbackground得到的结果处理操作UI。此方法在主线程执行,任务执行的结果作为此方法的参数返回。

此外,AsyncTask底层是一个线程池 而Handler仅仅就是发送了一个消息队列,连线程都没有开。但是,如果异步任务的数据特别庞大,AsyncTask这种线程池结构的优势就体现出来了。

转载于:https://blog.51cto.com/beginnerjyh/1414007

AsyncTask类浅析相关推荐

  1. AsyncTask类的使用

    AsyncTask在包android.os中,使用AsyncTask能够使得和UI 线程的交互更为简单合适.它可以用来进行后台的操作,并且把结果显示在UI线程上,而不需要程序员自己人为的对线程(Thr ...

  2. java asynctask完成_如何传递参数并从AsyncTask类中获取结果?

    我想要做的就是使用AsyncTask来执行http请求 . 这是我的代码到目前为止,但我不知道如何从我的主要活动中调用此类以及如何获得结果 . 我有一个String var"uri" ...

  3. C#正则表达式MatchCollection类浅析

    C#正则表达式MatchCollection类是什么含义呢?C#正则表达式MatchCollection类是如何使用的呢?那么本问就向你简单介绍C#正则表达式MatchCollection类的具体内容 ...

  4. android异步任务更新进度条,Android的AsyncTask异步任务浅析

    Android的AsyncTask异步任务浅析 实现原理 内部封装了2个线程池+1个Handler(InternalHandler),1个线程池SerialExecutor任务排队,一个线程池THRE ...

  5. 【Android】AsyncTask异步类

    一.关于AysncTask AsyncTask使得多线程编程更加简单,AsyncTask能在后台线程执行异步任务,并且在UI线程更新界面,而不再需要用户去操作Thread和Handler.AysncT ...

  6. android服务绑定异步,Android中异步类AsyncTask用法总结

    本文总结分析了Android中异步类AsyncTask用法.分享给大家供大家参考,具体如下: 最近整理笔记的时候,看到有关AsyncTask不是很理解,重新疏导了一下,有在网上找了一些资料,个人不敢独 ...

  7. 由于AsyncTask是一个单独的类,如何使OnPostExecute()的结果进入主要活动?

    本文翻译自:How to get the result of OnPostExecute() to main activity because AsyncTask is a separate clas ...

  8. Android 多线程-----AsyncTask详解

    您可以通过点击 右下角 的按钮 来对文章内容作出评价, 也可以通过左下方的 关注按钮 来关注我的博客的最新动态. 如果文章内容对您有帮助, 不要忘记点击右下角的 推荐按钮 来支持一下哦 如果您对文章内 ...

  9. Android中 AsyncTask

    Android AsyncTask 在程序处理中必然会遇上耗时的操作,如访问网络,下载数据,访问数据库等,如何存在耗时的操作 又不能影响界面显示交互. 在某些耗时可以控制的情况下,我们可以分批操作,对 ...

最新文章

  1. 日本面向未来的特定科技领域技术预见分析
  2. linux查询数据库sql,SQL Server 跨数据库查询
  3. torch.unsqueeze()和torch.unsqueeze()
  4. 第一章 SDN介绍 (附件3)【云计算,SDN,虚拟化三者关系】
  5. 通俗易懂,Maven依赖pom中的scope详解
  6. 第一次Sprint总结
  7. 深入理解Magento – 第二章 – Magento请求分发与控制器
  8. Spring事务管理(二)-TransactionProxyFactoryBean原理
  9. Adaboost新理解
  10. 当浏览器输入url的时候发生了什么
  11. layui监听radio点击事件
  12. qt开发linux性能测试工具,基于Qt的ARM-Linux系统测试工具
  13. 删除Windows10系统远程桌面的连接记录
  14. 小程序增加 文章 / 新闻 / 资讯 / 动态 功能,支持用户投稿
  15. Java 大文件分片上传
  16. 计算机网络中常用的互联设备,计算机网络的互联技术
  17. mysql 保存表情包
  18. 音频噪声抑制(2):维纳(Wiener)滤波器篇
  19. 2021-2027全球与中国铝质气雾罐市场现状及未来发展趋势
  20. 嵌入式实操----基于RT1170 首板硬件之EEPROM AT24C16调试(十五)

热门文章

  1. CS224n研究热点5 图像对话
  2. 如何对memcache的数据(key-value)进行遍历操作
  3. ajax成功跨域_自己写的
  4. Integration Services包部署常见问题汇总 (转自游子吟)
  5. LeetCode 166. 分数到小数
  6. 3、什么是控制反转(IoC),什么是依赖注入
  7. Linux Epoll 一网打尽
  8. 两图说明 java 开发工具中启动类参数都是干嘛的
  9. 使用java编写的一个遍历未知维数的数组函数
  10. c语言年历表程序设计,c语言程序设计年历显示-20210413153548.docx-原创力文档