Android AsyncTask使用注意简介及注意事项

      说起Android的AsyncTask,则必须要说到Android中的单线程模型,在Android中只允许UI线程来操作界面,WorkingThread是不允许操作UI的。同时耗时的操作则应尽量放在WorkingThread中来操作,防止阻碍UI线程更新 界面,导致 ANR(Application Not Responding) 异常。这样可以保证UI操作的稳定和流畅,避免造成多线程操作致使UI混乱。

     我们可以使用线程池来操作,Android给我们提供了Handler 机制,其实也给我们提供了一个AsyncTask组件。使用线程池来操作的时候,我们需要管理线程,同时需要用handler来发送消息,但是在处理过程中代码过多,显得过于复杂。

    AsyncTask 参数构建

AsyncTask是一个抽象类,里面封装有三个泛型参数。通常情况下,我们需要集成这个类来实现功能。

  • Params 启动任务执行的输入参数,比如HTTP请求的URL。
  • Progress 后台任务执行的百分比。
  • Result 后台执行任务最终返回的结果,比如String。

   AsyncTask子类回调方法

  • doInBackground(Params…): 后台任务,必须重写的方法。
  • onPostExecute(Result)  相当于Handler 处理UI的方式,当doInBackground 完成之后,系统会自动调用。

以下方法不是必须复写的

  • onProgressUpdate(Progress…)   更新任务的执行进度出发的方法。publishProgress()
  • onPreExecute()        执行后台耗时任务前调用!
  • onCancelled()          用户调用取消时,要做的操作
时间: 2024-10-07 11:21:57

Android AsyncTask使用注意简介及注意事项的相关文章

【转】Android 网络通信框架Volley简介(Google IO 2013)

Volley主页 https://android.googlesource.com/platform/frameworks/volley http://www.youtube.com/watch?v=yhv8l9F44qo&feature=player_embedded 1. 什么是Volley 在这之前,我们在程序中需要和网络通信的时候,大体使用的东西莫过于AsyncTaskLoader,HttpURLConnection,AsyncTask,HTTPClient(Apache)等,今年的Go

GitHub Android Libraries Top 100 简介

GitHub Android Libraries Top 100 简介 排名完全是根据 GitHub 搜索 Java 语言选择 (Best Match) 得到的结果, 然后过滤了跟 Android 不相关的项目, 所以排名并不具备任何官方效力, 仅供参考学习, 方便初学者快速了解当前一些流行的 Android 开源库. 项目名称 项目简介 1. react-native 这个是 Facebook 在 React.js Conf 2015 大会上推出的基于 JavaScript 的开源框架 Rea

android Asynctask的优缺点?能否同时并发100+asynctask呢?

一  Asynctask的优缺点? AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程. 优点: 1.简单,快捷 2.过程可控 3.使用的缺点: 缺点: 在使用多个异步操作和并需要进行Ui变更时,就变得复杂起来. Android的AsyncTask比Handler更轻量级一些,适用于简单的异步处理. 首先明确Android之所以有Handle

android AsyncTask介绍

本文转自:http://www.cnblogs.com/devinzhang/archive/2012/02/13/2350070.html 写的很好,向你们推荐 android AsyncTask介绍 AsyncTask和Handler对比 1 ) AsyncTask实现的原理,和适用的优缺点 AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主

关于Android应用开发的一些安全注意事项

原文地址: http://www.javacodegeeks.com/2014/05/simple-tips-to-secure-android-app.html http://developer.android.com/training/articles/security-tips.html Android已经具有内置到操作系统的安全功能,显著降低应用安全问题的频次和影响,但作为应用程序开发人员,我们也需要注意在开发应用程序时的安全问题. 安全级别是取决于应用程序的类型和域. 这里有我们需要注

Android Studio使用心得 - 简介与环境配置

关于Android Studio 在2013 Google IO大会上发布的全新IDE Android Studio相信各位猿们并不陌生,截止2014的Google IO大会,虽然依然木有发布正式版,但是根据我这几周的使用情况来说,BUG已经很少了,完全不影响正常使用.而且Android Studio是基于IntelliJ的,无论从运行速度上还是编程的快捷性上,都比Eclipse的体验要好,开发效率妥妥的提高了. Android Studio vs Eclipse ADT 目前Android S

[学习总结]7、Android AsyncTask完全解析,带你从源码的角度彻底理解

我们都知道,Android UI是线程不安全的,如果想要在子线程里进行UI操作,就需要借助Android的异步消息处理机制.之前我也写过了一篇文章从源码层面分析了Android的异步消息处理机制,感兴趣的朋友可以参考 Android Handler.Message完全解析,带你从源码的角度彻底理解 . 不过为了更加方便我们在子线程中更新UI元素,Android从1.5版本就引入了一个AsyncTask类,使用它就可以非常灵活方便地从子线程切换到UI线程,我们本篇文章的主角也就正是它了. Asyn

Android学习5—布局简介

Android界面的布局主要有四种,分别为RelativeLayout.LinearLayout.TableLayout.FrameLayout,接下来分别介绍这些布局如何使用(为了简单起见,接下来的介绍工作中,我分别附上布局文件的代码以及效果图,供大家参考) 一:RelativeLayout <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="htt

Android AsyncTask 详细解析

结构 继承关系 public abstract class AsyncTask extends Object java.lang.Object android.os.AsyncTask<Params, Progress, Result> 类概述 AsyncTask能够适当地.简单地用于 UI线程. 这个类不需要操作线程(Thread)就可以完成后台操作将结果返回UI. 异步任务的定义是一个在后台线程上运行,其结果是在 UI线程上发布的计算. 异步任务被定义成三种泛型类型: Params,Pro