【发布时间】:2016-10-10 06:35:14
【问题描述】:
AsyncTask 是串行执行的,但我们可以使用 executeOnExecutor 并行执行它们。我们可以在 Android 中并行执行多少个 Asynctask?
【问题讨论】:
AsyncTask 是串行执行的,但我们可以使用 executeOnExecutor 并行执行它们。我们可以在 Android 中并行执行多少个 Asynctask?
【问题讨论】:
我相信这个 StackOverflow 帖子已经回答了你的问题:How many AsyncTasks i can run in an single process application
您一次可以运行多少个 AsyncTask?
在大多数 Android 版本中,答案是 128。
在提出这些问题之前,请先快速搜索一下。
【讨论】:
Android 在 AsyncTask 中使用 ThreadPool。此线程池的最大大小为
MAXIMUM_POOL_SIZE = CPU_COUNT * 2 + 1;
所以 AysncTask 的最大数量取决于 CPU Count。
参考:
http://dsalgos.com/971/how-many-asynctasks-can-you-execute-in-parallel
【讨论】:
检查这个答案。
AsyncTask 使用线程池模式从 做背景()。问题最初是(在早期的 Android 操作系统中) 版本)池大小仅为 1,这意味着没有并行计算 对于一堆 AsyncTasks。但后来他们解决了这个问题,现在大小 是 5,所以最多可以同时运行 5 个 AsyncTask。不幸的是,我 不记得他们到底是在哪个版本中更改的。
Running multiple AsyncTasks at the same time -- not possible?
还要检查上面的链接。希望它会有所帮助。
【讨论】: