在Threads调试模式下,许多AsyncTask的AdWorker和AsyncTask?

时间:2015-01-12 21:52:15

标签: android android-asynctask

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

  1. 看到10个AdWorker是正常的吗?
  2. 看到5 AsyncTask是否正常?
  3. 描述这两个目的?
  4. 如何看到只有一个AsyncTask同时运行?
  5. enter image description here

1 个答案:

答案 0 :(得分:1)

5 AsyncTask-绝对。 AsyncTask子系统启动了几个可以分配AsyncTasks的线程(虽然3.0后只使用了1,除非你通过executeOnExecutor请求更多)5已经是启动时的默认数字多年。通常只有1运行,它们在1个线程上串行执行,除非被告知不这样做。其他人正在等待工作。

AdWorker-不属于Android。您使用的是广告库吗?如果是这样,它看起来要么启动了很多线程,要么就是没有正确终止它们。由于您让活动终止并在轮换时重新启动,我怀疑广告库在轮换后没有清理旧线程并且让它们留下来。谷歌的这种行为是愚蠢的另一个原因,应该由任何需要线程或任务的应用程序关闭。