这样做的原因
RejectedExecutionException是因为
AsyncTask实现了自己的线程池(根据Martelli先生的回答),但是一个线程池最多可同时执行10个任务。他们为什么有这个限制,我不知道。
因此,一种可能性是您可以克隆
AsyncTask,提高限制(或不受限制,也可以使用
linkedBlockingQueue)并使用克隆。然后,也许将更改作为补丁提交,以
AsyncTask供将来的Android版本使用。
单击此处运行Google代码搜索
AsyncTask-第一个匹配项应该是实现。
如果您只是想增加限制,请调整
MAXIMUM_POOL_SIZE为可能需要的大小。如果要不受限制,请使用零参数
linkedBlockingQueue构造函数,而不是当前使用的构造函数。AFAICT,其余代码可能保持不变。



