下面列出了android.os.AsyncTask#SERIAL_EXECUTOR 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@TargetApi(11)
static Executor getDefaultAsyncTaskExecutor() {
if (VERSION.SDK_INT >= 11) {
return AsyncTask.SERIAL_EXECUTOR;
}
try {
Field declaredField = AsyncTask.class.getDeclaredField("sExecutor");
declaredField.setAccessible(true);
return (Executor) declaredField.get(null);
} catch (Exception e) {
return null;
}
}
public void executeSerial(Params...values){
super.executeOnExecutor(AsyncTask.SERIAL_EXECUTOR, values);
}
private ThreadUtils() {
mParallelExecutor = THREAD_POOL_EXECUTOR;
mSerialExecutor = AsyncTask.SERIAL_EXECUTOR;
}
private Executor getPrefetchExecutor() {
return sMigrationTask == null ? AsyncTask.THREAD_POOL_EXECUTOR : AsyncTask.SERIAL_EXECUTOR;
}
private TaskExecutor() {
mParallelExecutor = THREAD_POOL_EXECUTOR;
mSerialExecutor = AsyncTask.SERIAL_EXECUTOR;
}