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进行实现。
最后对线程池做个简单的介绍,自己详细了解: