<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
-->
一.
异步任务
异步任务可以适当的/
易用与UI
线程当中,这个类允许执行后台操作,并在不操作线程和handler
的情况下将处理后的数据返回给UI
线程。
异步任务的设计是线程类(Thread
)和Handler
类的一个辅助类,该类并不构成通用线程框架。异步任务建议在处理耗时较短的操作上使用(以秒单位的操作上),如果需要线程需要处理耗时较长的操作,建议使用java
中java.util.concurrent
包中的Executor
,ThreadPoolExecutor
和FuturTeask
类。
异步任务类是个抽象类,使用时必须使用子类,并在子类中必须重写doInBackground()
方法。
(1
)当异步任务执行过程中,可以分为下4
步:
1.onPreExecute()
异步任务开始执行时直接调用这个方法。(即execute()
调用后)这个方法里功能通常所让UI
中显示进度条。
2.doInBackground(Params
…)
该方法在onPreExecute()
执行完后直接执行,UI
中的参数直接传递到这个方法中,参数被处理后有这个方法传递给最后的一个方法(onPostExecute()
方法)。同时在处理过程中通过调用publishProgress()
方法可以,引发onProgressUpdate
方法的调用
3.onProgressUpdate(Progress
…)
更新UI
4.onPostExecute(Result)
后台处理完成后执行该方法。后台数据传递给该方法。
(2
)取消任务
在任何时候只要执行cancel(boolean)
方法,当前任务就会被取消,随后引发isCancelled()
方法的执行,该方法返回true.isCancelled()
方法执行之后,任务不再执行onPostExecute()
,而是执行onCancelled(Object)
方法。
注意:
1.
异步任务在UI
线程中被声明。
2.
异步任务在UI
线程中被启动执行。
3.
不需要手动调用onPreExecute()/onPostExecute()/doInBackground()
等方法。
4.
异步任务只能启动一次,试图启动两次会抛出异常。
参数的类型
AsyncTask<Params, Progress, Result>
1.Params
由UI
线程传递给后台操作的数据类型(即execute()
方法的参数类型)
2.Progress
后台处理过程中的数据类型(即publishProgress()
和onProgressUpdate
参数接受的类型)
3.Result.
后台处理后结果的返回类型。
这些内容都是帮助文档的内容。有不准确的地方还请指出来。
分享到:
相关推荐
在Android开发中,异步操作类AsyncTask是一个非常重要的工具,它允许开发者在后台线程执行耗时操作,然后在UI线程更新结果,避免了因阻塞主线程而导致的ANR(Application Not Responding)错误。AsyncTask的源码解析...
### Android学习笔记(三二):线程:后台异步任务AsyncTask #### 一、AsyncTask概述 在Android开发中,为了确保用户界面的流畅性与应用性能,经常需要在后台执行耗时操作,例如网络请求、数据库操作或文件读写等...
本文总结分析了Android中异步类AsyncTask用法。分享给大家供大家参考,具体如下: 最近整理笔记的时候,看到有关AsyncTask不是很理解,重新疏导了一下,有在网上找了一些资料,个人不敢独享,一并发在这里与大家共勉...
Android中的异步任务通常通过AsyncTask类来实现。AsyncTask是一个轻量级的组件,设计用于在UI线程和后台线程之间进行通信。它有三个泛型参数,分别代表Progress(进度类型)、Params(输入参数类型)和Result(结果...
通过以上对 AsyncTask 的源码解析和使用方法的介绍,你应该对如何在 Android 应用中高效地使用异步任务有了更深入的理解。在实际开发中,正确理解和使用 AsyncTask 可以帮助我们编写出更加流畅、响应快速的应用程序...
在Android应用开发中,异步任务(AsyncTask)是一个常用工具,用于在后台线程执行耗时操作,然后在UI线程更新结果,避免阻塞用户界面。AsyncTask的使用和内部机制对于任何Android开发者来说都至关重要。让我们深入...
当一个异步任务被执行时,整个过程会经历以下四个步骤: 1. **onPreExecute()**: - 这个方法会在UI线程上被调用,并且是在任务执行后立即调用。 - 通常用于设置任务的初始化工作,比如显示一个进度条在用户界面...
`AsyncTask`是Android提供的一种轻量级的异步任务处理框架,它允许开发者在后台线程执行耗时操作,然后在UI线程更新结果,避免了阻塞主线程导致的ANR(Application Not Responding)问题。这篇我们将深入探讨`...
AsyncTask 是 Android 开发中常用的一个轻量级异步任务处理框架,主要用于在后台线程执行耗时操作,然后在 UI 线程更新界面。它简化了多线程编程,使得开发者能够更加便捷地处理异步任务。本文将深入探讨 AsyncTask ...
`AsyncTask`是Android SDK提供的一种轻量级的异步任务处理机制,它主要用于短时间的后台操作,如网络请求、数据解析等。`AsyncTask`包含三个泛型参数,分别代表后台任务的输入类型、进度类型和结果类型。其主要步骤...
Android的AsyncTask是一个轻量级的异步任务框架,它被设计用来简化在主线程与后台线程之间进行数据交互的复杂性。由于Android的UI更新必须在主线程中进行,AsyncTask通过内部封装Handler和线程池,使得开发者可以在...
**AsyncTask** 是一个轻量级的异步任务框架,适合用于执行较短的后台操作,然后更新UI。AsyncTask有三个泛型参数:`Params`(后台任务的输入参数)、`Progress`(后台任务的进度)和`Result`(后台任务的输出结果)...
此外,`AsyncTask`的执行是序列化的,即一次只能有一个`AsyncTask`在执行,如果需要并行执行多个任务,可能需要使用其他并发工具,如线程池。 总的来说,`AsyncTaskDemo`应该涵盖了以下知识点: - Android异步处理...
本项目实践基于"人工智能-项目实践-多任务-使用AsyncTask实现的多任务多线程下载的Demo,支持断点续传.zip",旨在提供一个使用Android的AsyncTask类进行多任务、多线程下载,并且支持断点续传功能的示例。...
Params表示异步任务的输入参数类型,Progress表示后台任务执行过程中的进度类型,Result表示任务执行后的返回结果类型。在实际使用中,你可以根据具体需求定义这些类型。 AsyncTask的主要方法包括: 1. `...
在Android开发中,异步加载是一项至关重要的技术,主要用于解决UI线程阻塞问题,提升应用性能和用户体验。...同时,这也是Android应用开发进阶过程中不可或缺的一部分,为处理更复杂的异步任务和网络请求奠定了基础。
1. 异步任务应该在UI线程之外执行,以避免阻塞用户界面。 2. 在`onPostExecute()`中更新UI,因为这是唯一可以在主线程中安全执行的方法。 3. 使用`publishProgress()`和`onProgressUpdate()`来显示进度条或者更新...
2. **AsyncTask**:Android提供了一个轻量级的异步任务类AsyncTask,它适合处理一些短暂的后台操作。在这个示例中,可能使用AsyncTask来下载图片并更新ListView的Adapter。 3. **图片缓存策略**:为了提高性能,...
另一方面,`AsyncTask`是Android SDK内置的异步任务类,它主要用于简化短时间、耗时的操作,如网络请求、数据库操作等。`AsyncTask`有三个泛型参数,分别代表`Progress`(进度)、`Params`(输入参数)和`Result`...
本文将深入探讨Java和Android平台上的异步编程小技巧,并以"android业务异步编程小技巧.zip"和"java业务异步编程小技巧.zip"中的示例作为参考,讲解如何有效地进行异步任务处理。 首先,我们要理解Android应用中的...