Android高级开发一:异步处理

异步处理耗时操作,一定要掌握的技巧,这里先贴上代码,持续更新:

异步处理的几种方法:

AsyncTask类进行异步操作,doInBackground方法中进行耗时操作:

这里对AsyncTask这个类进行一些说明:传入的三个参数:

1.Params

在执行AsyncTask时需要传入的参数,可用于后台任务使用。

2.Progress

后台任务进行时若要显示进度可用这里指定的泛型作为进度单位。

3.Result

对任务完成后进行结果的返回,这里的类型就是返回值的类型。

OnPreExecute():

在后台任务开始前调用。

doInBackground(params...)

这个方法很明显,在子线程中进行操作,可通过return语句来返回任务的执行结果。调用publishProgress(progress)方法可进

行一些UI操作,这个方法中是不能进行UI操作的。

onPostExecute(Result)

这个方法在后台任务完成后会被调用,参数即为任务中传递过来的,在其中可进行UI操作。

对AsyncTask的进一步了解还是要通过阅读源码,这里不再介绍,先了解它的基本用法。

这是下载器的部分代码:

在点击事件中开启线程执行耗时操作:

通过Handler机制来更新UI:

在这里进行更新UI的操作:

通过Handler机制实现更新UI的操作,download是一个耗时操作方法的封装,也可使用AsyncTask进行实现。

最后对线程池做个简单的介绍,自己详细了解:

results matching ""

    No results matching ""