博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
AsyncTask
阅读量:4068 次
发布时间:2019-05-25

本文共 585 字,大约阅读时间需要 1 分钟。

文章目录

一、什么是AsyncTask

1、本质上就是一个封装了线程池和handler的异步框架

二、AsyncTask的使用方法

1、三个参数

在这里插入图片描述
params是执行AsyncTask时需要传入的参数,可用于后台执行;
Progress 后台执行时,可以在界面上展示的进度;
Result 任务执行结束时,返回的数据

2、5个方法

三、AsyncTask的内部原理

在这里插入图片描述

四、AsyncTask的注意事项

1、内存泄漏的解决方案

1)、内部类使用静态内部类;

2)、传进来的外部activity使用弱引用;
3) 、在Acitvity的onDestory() 方法中取消线程调用AsyncTask.cancel();

2、生命周期

1)、如果没有在activity的onDestory() 方法中取消线程调用AsyncTask.cancel(),可能会导致系统的不稳定;

3、结果丢失

当系统内存不足,活着屏幕旋转,使得Activity重新创建,而AsyncTask中持有的是原activity 的引用,在线程执行结束后要更新界面时,原activity已经没了。

4、并行 or 串行

android 1.6之前是串行,android 1.6之后变成了并行 ,但是在2.3之后为了维持稳定性,又将其变成了串行,但是还是可以并行的执行即运行线程池,但是建议还是使用串行,更加稳定。

转载地址:http://lhaji.baihongyu.com/

你可能感兴趣的文章
web test LoadRunner docs / loadrunner license、cd-key、download
查看>>
web test win tools / Process Explorer / Process Monitor / TcpView / AutoRuns
查看>>
web test / docs / QA
查看>>
web test automation test / QTP / IBM RFT / Selenium IDE / IOS appium / AU3
查看>>
web test flow
查看>>
OS + Linux/Unix download tools curl / wget
查看>>
web test LoadRunner error list / error log
查看>>
web test LoadRunner tomcat / websphere
查看>>
web test LoadRunner Linux
查看>>
web test LoadRunner fuction_list
查看>>
web test LoadRunner SAP / java / Java Vuser / web_set_max_html_param_len
查看>>
OS + UNIX AIX command
查看>>
OS + UNIX AIX performance
查看>>
OS + UNIX AIX Tools
查看>>
my ReadBook_liutongjingjixue / circulation economics
查看>>
my ReadBook_wangluoyingxiaoyucehua / network marketing / wangluoyingxiao
查看>>
db base database
查看>>
script asp / asp error_list / Active Server Page
查看>>
my ReadBook_hulianwangshujuku
查看>>
web optimize_image / Jpegoptim / ImageOptim / google webP
查看>>