AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程.
准则:
优点:
简单,快捷
过程可控
缺点:
在使用多个异步操作和并需要进行Ui变更时,就变得复杂起来.
Handler异步实现的原理和适用的优缺点
必须重写:
有必要的话你还得重写以下这三个方法,但不是必须的:
Asynctask在android3.0之后是有一个队列,对异步的处理不会每个asynctask都有个线程处理,即异步串行处理。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 |
{ ... ( new
DelayedInitializer()).execute(); ... } private
class DelayedInitializer extends
AsyncTask<Void, Void, Void> { @Override protected
Void doInBackground(Void... params) { } public
void execute() { executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, (Void[]) null ); } } |
原文:http://www.cnblogs.com/xichao/p/3613322.html