AsyncTask在Android4.X的机制问题

AsyncTask在Android4.X机制是串行的...单一AsyncTask运行完才会运行下一个

AsyncTask在Android2.3机制是并行的..最多支持5个



解决AsyncTask 在4.x串行的问题...自己编写线程池


public class PoolThread {
private static final int CPU_COUNT = Runtime.getRuntime()
.availableProcessors();
private static final int CORE_POOL_SIZE = CPU_COUNT + 1;
private static final int MAXIMUM_POOL_SIZE = CPU_COUNT * 10 + 1;
private static final int KEEP_ALIVE = 1;
private static final BlockingQueue<Runnable> sPoolWorkQueue = new LinkedBlockingQueue<Runnable>(
128);
private static final ThreadFactory sThreadFactory = new ThreadFactory() {
private final AtomicInteger mCount = new AtomicInteger(1);

public Thread newThread(Runnable r) {
return new Thread(r, "AsyncTask #" + mCount.getAndIncrement());
}
};
public static final Executor THREAD_POOL_EXECUTOR = new ThreadPoolExecutor(
CORE_POOL_SIZE, MAXIMUM_POOL_SIZE, KEEP_ALIVE, TimeUnit.SECONDS,
sPoolWorkQueue, sThreadFactory);

}


启动 AsyncTask的时候 reTask.executeOnExecutor(PoolThread.THREAD_POOL_EXECUTOR,params...)

就可以并行咯..

更多相关文章

  1. appium 调试问题--UiAutomator died while responding to comman
  2. Android4.0模拟器“谷歌输入法已停止运行”错误解决办法
  3. Unable to find method 'org.gradle.api.tasks.complie.ComplieO
  4. android 程序运行出现错误 Unable to execute dex: java.nio.Buf
  5. NFC之让Android自动运行程序
  6. Android下调试.so库类的bug
  7. Activity的架构设计
  8. Android获取应用运行次数
  9. Android开发之广播机制

随机推荐

  1. 【源码下载】150款+炫酷的CSS3 loading加
  2. Redis 6.0 稳定版发布,支持多线程 IO
  3. 为什么越来越多的人想成为全栈工程师?
  4. 【源码下载】50套高大上的后台管理系统模
  5. Apache Kafka 不需要管理员:删除 Apache Z
  6. React应该如何优雅的绑定事件?
  7. Apache Kafka 2.6.0 有哪些值得关心的变
  8. Delta Lake 第一篇论文发布了
  9. 40岁,我还是那个每天加班编程的”老“程序
  10. 我都30岁了,零基础想转行去学编程,靠谱吗?