android视频教程

android视频教程

5 (13人评价)
  • 课时:(26)

  • 学员:(409)

  • 浏览:(14958)

  • 加入课程

android视频教程的笔记

相关课时: 笔记详情:

AFF110606_AsyncTask异步任务

目标:

了解AysncTask类和实现。

Android为了降低异步操作开发难度,在handler基础上提供AsyncTask。是一个峰值过的后台任务类。

明了它和Handler谁更轻量级?

Handler更轻量级,只发消息;

AysncTask不仅开新线程,还用线程池,更耗资源。代码操作更轻量级。

如何使用AsyncTask

doInBackground()

onProgressUpdate()

onPostExecute()

AsyncTask定义了三种泛型Params,Progress,Result

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

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

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

AsyncTask方法:

必选方法:

doInBackground

onPostExecute

可选方法:

onProgressUpdate

onPreExecute

onCancelled

AsyncTask三个状态:pending,running,finished

使用AsyncTask类,遵守的准则:

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

execute方法必需在UI thread中调用;

不要手动调用onPreExecute,onPostExecute,doInBackground,onProgressUpdate这几个方法;

该task只能被执行一次,多次调用时将会出现异常。

看代码AsyncTask.java:

1 找入口:构造函数

2 找关系:调用,被调用

构造函数创建FutureTask

execute()中启动FutureTask

sExecuter,线程池。典型的线程池结构用法。

 

重难:

AsyncTask与县城和线程池的关系

如何分析进程的内存占用

 

考核:

AsyncTask是多线程么?是,线程池

与Handler相比,AsyncTask消耗资源情况如何,为什么?

更多。新线程,线程池。

 

 

0 0

你感兴趣的课程

8万+浏览/ 916学员/ 4.5评分
免费
6万+浏览/ 177学员/ 5评分
免费
6万+浏览/ 972学员/ 4.8评分
免费