AsyncTask的使用及弊端

本文介绍了Android中AsyncTask的使用,包括其关键API如Params、Progress、Result,四个核心方法的执行流程,以及代码实例展示下载任务。同时,文章指出了AsyncTask的生命周期问题、内存泄漏风险和结果丢失等弊端,并解析了其从Android 3.0开始默认串行执行的原理。
摘要由CSDN通过智能技术生成

(一)介绍

       1,AsyncTask,是一种轻量级的异步任务类,内部封装了Handler和Thread,可以方便的将子线程的数据传递到UI线程并更新UI.但它不适合进行特别耗时的任务,对于特别耗时的任务,建议使用线程池.

      

 

(一)关键api

1,三个参数:Params,Progress,Result,如果AsyncTask确定不需要传递具体参数,那么这三个泛型参数可以用Void来代替。

    A,Params,表示参数的类型

    B,Progress,表示后台任务执行的进度的类型

    C,Result,后台任务返回结果的类型

 

2,四个参数:

onPreExcute(),DoInBackGround(),onProgressUpdate(),onPostExcute();

A,onPreExcute(),在主线程中执行,在异步任务之前调用,一般可以用于做任务前的准备,比如进度圈的显示.

B,DoInBackGround(),在线程池中执行,用于处理一些耗时任务.通过publishProgress()将进度发布出去.然后通过return将结果返回出去.

C,onProgressUpdate(),在主线程中执行,获取任务的最新进度.

D,onPostExcute(),

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值