首页 理论教育 深度解析AsyncTask

深度解析AsyncTask

时间:2023-06-17 理论教育 版权反馈
【摘要】:用户可以使用官方提供的AsyncTask这个封装好的轻量级异步类,只需几十行的代码即可完成异步操作,而且进度可控。相比起Handler和AsyncTask显得更加简单、快捷。此外,实际异步用得最多的地方是网络操作、图片加载、数据传输等,AsyncTask可以满足初学者的常规需求,编写小应用程序。构建AsyncTask子类的参数,见图4.27。)这几个方法;④ 该Task只能被执行一次,否则多次调用时将会出现异常。

深度解析AsyncTask

1.使用AsyncTask的原因

用户可以用上述两种方法来完成异步操作,假如要异步操作比较多先用new Thread()然后用上述方法通知UI更新,就显得较为烦琐了。用户可以使用官方提供的AsyncTask这个封装好的轻量级异步类,只需几十行的代码即可完成异步操作,而且进度可控。相比起Handler和AsyncTask显得更加简单、快捷。此外,实际异步用得最多的地方是网络操作、图片加载、数据传输等,AsyncTask可以满足初学者的常规需求,编写小应用程序。

2.AsyncTask的基本结构

AsyncTask是一个抽象类,一般可先定义一个类继承AsyncTask,然后重写相关方法。

(1)构建AsyncTask子类的参数,见图4.27。

图4.27

(2)相关方法与执行流程见图4.28,深色的是一定要有的,浅色的可以没有。(www.xing528.com)

图4.28

(3)注意事项。

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

② execute方法必须在UI hread中调用;

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

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

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈