关于AsyncTask的用法:
主要翻译自:http://developer.android.com/reference/android/os/AsyncTask.html
3个范型参数:
Params
启动任务执行的输入参数
Progress
后台任务执行的百分比
Result
,后台计算的结果类型
在一个异步任务里,不是所有的类型总被用。假如一个类型不被使用,可以简单地使用Void类型:
private class MyTask extends AsyncTask<Void,Void,Void> { ... }
4个重写接口:
onPreExecute
:
运行在
UI
线程。
初始化task,比如显示一个进度条。
doInBackground
,:
运行在后台线程。
主要用来进行逻辑处理。时间可以较长,可以避免在UI线程ANR。耗时操作在这个方法中进行。
在onPreExecute
之
后立刻运行。Execute的参数传入到这个接口。
正常情况,计算结果将被返回给onPostExecute
。如果 cancel(boolean)
调用,则返回结果给