对于线程调试模式下的许多 AsyncTask 的 AdWorker 和 AsyncTask?

To many AsyncTask's AdWorker and AsyncTask in Threads debug mode?

我 运行在后台运行 AsyncTask。我在方向更改时附加 AsyncTask。如果 AsyncTask 是 运行 我让它 运行。如果完成则启动一个新的 AsyncTask。现在在调试模式下,我看到以下内容。 API 10 级。

  1. 看到10个AdWorker正常吗?
  2. 看到5个AsyncTask是否正常?
  3. 描述两者,目的?
  4. 我如何看到只有一个 AsyncTask 运行并发?

5 AsyncTask- 绝对。 AsyncTask 子系统启动多个线程,它可以将 AsyncTasks 分配给它,(尽管 post 3.0 仅使用 1,除非您通过 executeOnExecutor 请求更多)5 多年来一直是启动时的默认数字。通常只有 1 个是 运行,它们在 1 个线程上串行执行,除非另有指示。其他人都在等待工作。

AdWorker- 不属于 Android。你在使用广告库吗?如果是这样,它看起来要么启动了很多线程,要么没有正确终止它们。由于您要让 Activity 终止并重新开始轮换,我怀疑广告库在轮换后没有清理旧线程,而是让它们继续存在。 google 的这种行为是愚蠢的,任何需要线程或任务的应用程序都应将其关闭的另一个原因。