`
TonySun3544
  • 浏览: 161497 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android AsyncTas开发

阅读更多

 

AndroidAsyncTaskHandler更轻量级一些,适用于简单的异步处理。

Android开发中AsyncTask实现异步处理任务的方法,AndroidAsyncTask的用法实例,Android AsyncTask的使用。

 

首先明确Android之所以有HandlerAsyncTask,都是为了不阻塞主线程(UI线程),且UI的更新只能在主线程中完成,因此异步处理是不可避免的。

 

Android 1.5提供了一个工具类:AsyncTask,它使创建需要与用户界面交互的长时间运行的任务变得更简单。不需要借助线程和Handler即可实现。

 

AsyncTask 的优势体现在:

•线程的开销较大,如果每个任务都要创建一个线程,那么应用程序的效率要低很多;

•线程无法管理,匿名线程创建并启动后就不受程序的控制了,如果有很多个请求发送,那么就会启动非常多的线程,系统将不堪重负。

•另外,前面已经看到,在新线程中更新UI还必须要引入handler,这让代码看上去非常臃肿。

 

AsyncTask定义了三种泛型类型 ParamsProgressResult

Params 启动任务执行的输入参数,比如HTTP请求的URL

Progress 后台任务执行的百分比。

Result 后台执行任务最终返回的结果,比如String

 

AsyncTask的执行分为四个步骤,每一步都对应一个回调方法,开发者需要实现一个或几个方法。在任务的执行过程中,这些方法被自动调用。

onPreExecute(), 该方法将在执行实际的后台操作前被UI thread调用。可以在该方法中做一些准备工作,如在界面上显示一个进度条。

doInBackground(Params...), 将在onPreExecute 方法执行后马上执行,该方法运行在后台线程中。这里将主要负责执行那些很耗时的后台计算工作。可以调用 publishProgress方法来更新实时的任务进度。该方法是抽象方法,子类必须实现。

onProgressUpdate(Progress...),publishProgress方法被调用后,UI thread将调用这个方法从而在界面上展示任务的进展情况,例如通过一个进度条进行展示。

onPostExecute(Result), doInBackground 执行完成后,onPostExecute 方法将被UI thread调用,后台的计算结果将通过该方法传递到UI thread.

 

使用AsyncTask类,以下是几条必须遵守的准则:

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

    2) execute方法必须在UI thread中调用

    3) 不要手动的调用onPreExecute(), onPostExecute(Result)doInBackground(Params...), onProgressUpdate(Progress...)这几个方法

    4) task只能被执行一次,否则多次调用时将会出现异常

 

 

分享到:
评论

相关推荐

    android应用开发范例精解

    《Android应用开发范例精解》通过通俗易懂的开发实例及项目案例,详细介绍了Android应用开发的知识体系及实用开发技术。 《Android应用开发范例精解》共14章,分为3篇。第1篇为基础篇,涵盖Android背景及开发环境和...

    android开发揭秘PDF

    第1章 Android开发简介 1.1 Android基本概念 1.1.1 Android简介 1.1.2 Android的系统构架 1.1.3 Android应用程序框架 1.2 OMS介绍 1.2.1 OPhone介绍 1.2.2 Widget介绍 1.3 小结 第2章 Android开发环境搭建 2.1 ...

    Android应用开发揭秘-pdf(全)

    根据提供的信息,我们可以推断出《Android应用开发揭秘》这本书主要涵盖了Android应用程序的开发流程及相关技术,适合初学者作为入门指南。尽管具体内容未给出详细章节或摘要,但基于标题、描述及常见Android开发...

    《Android应用开发详解》源码

    《Android应用开发详解》源码,完整版,值得看一看。 《Android核心技术和开发详解》各章案例的全部源代码,第一章将要介绍的是Android开发起步的相关知识,首先对Android平台进行简单的介绍,其中包括Android的背景...

    Android应用开发,完整扫描版

    《Android应用开发》通过丰富而翔实的实例展示了在Android平台下开发手机应用软件所必需的概念和技术。书中不仅对Android应用程序的开发环境和调试方法进行了详细介绍,而且对Android软件开发的一些关键技术和API...

    黑马程序员——Android移动开发源码

    黑马程序员——Android移动开发源码

    Android开发入门60个小案例+源代码

    在Android开发领域,初学者经常会面临许多挑战,如理解Android应用程序的基本架构、学习XML布局、掌握Java或Kotlin编程语言,以及如何与设备硬件交互等。"Android开发入门60个小案例+源代码"这个资源提供了丰富的...

    Android 底层开发实战中文高清完整版.pdf

    Android 底层开发实战中文高清完整版.pdf Android 底层开发实战中文高清完整版.pdf

    老罗android开发视频教程全集百度网盘下载

    Android 是Google开发的基于Linux平台的开源手机操作系统。它包括操作系统、用户界面和应用程序—— 移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。 Android以Java为编程语言,使...

    Google Android SDK开发范例大全(完整版)1-8.pdf

    Google Android SDK开发范例大全(完整版)1-8.pdf Google Android SDK开发范例大全(完整版)1-8.pdf Google Android SDK开发范例大全(完整版)1-8.pdf Google Android SDK开发范例大全(完整版)1-8.pdf Google Android ...

    六本不错的android开发英文书籍

    开发书籍].Android.pdf [android.开发书籍].Android_Application_Development_For_Dummies.pdf [android.开发书籍].Beginning.Android.2.(Apress,.2010,.1430226293).pdf [android.开发书籍].Hello.Android.3rd....

    课程表--android 手机开发(源码+sqllite)

    课程表--android 手机开发 java 课程表--android 手机开发 java 课程表--android 手机开发 java 课程表--android 手机开发 java 课程表--android 手机开发 java 课程表--android 手机开发 java

    Android开发教程(完整版)

    新版Android开发教程&笔记--基础入门一.pdf 新版Android开发教程&笔记--基础入门二.pdf 新版Android开发教程&笔记三--环境搭建与解析.pdf 新版Android开发教程&笔记四--Dalvik ADB.pdf 新版Android开发教程+笔记五--...

    Google Android SDK开发范例大全源码 无解压密码

    主要以范例集的方式来讲述Android的知识点,详细介绍了开发Android的人机交互界面、Android常用的开发控件、使用Android手机收发短信等通信服务、开发Android手机的自动服务功能和娱乐多媒体功能以及整合Android与...

    《Android应用开发揭秘》源码

     杨丰盛,Android应用开发先驱,对Android有深入研究,实战经验极其丰富。精通Java、C、C++等语言,专注于移动通信软件开发,在机顶盒软件开发和MTK平台软件开发方面有非常深厚的积累。2007年获得中国软件行业协会...

    android摄像头开发完美例程(几乎涉及所有有关摄像头开发的东东)

    Android摄像头开发完美demo,包括摄像头循环聚焦,缩放大小,旋转picture,查询picturesize, 增加ImageButton的按键效果。整个代码写的简洁,几乎涉及所有有关摄像头开发的东东。参见:...

    android快速开发框架

    "Android快速开发框架"是一种专为提升Android应用开发效率而设计的工具集合,它整合了多种功能模块,如网络请求、图片加载、文件操作等,旨在简化开发过程,让开发者可以更专注于业务逻辑的实现。这里我们将深入探讨...

    安卓(android)经典开发教程15本全

    Android驱动开发入门及手机案例开发分析教程.pdf Android系统移植技术详解.doc Android新手开发教程.pdf Android应用程序开发36技.pdf Android应用开发详解.pdf Linux内核阅读心得体会.pdf linux Android基础知识...

    Android平台开发之旅(第2版).pdf

    《Android平台开发之旅(第2版)》涵盖Android 3/4的新特性,立足实际的开发案例,介绍了Android平台开发的基础概念、实用技术和应用模式。主要内容包括应用程序框架、高级界面、数据库应用、网络通信与Web开发、无线...

Global site tag (gtag.js) - Google Analytics