调用两次相同的活动...多个AsyncTasks问题?

时间:2010-05-08 23:06:55

标签: android android-asynctask

我有三个AsyncTask实例同时下载三个文件。当两个特定的结束时,在onPostExecute()结束时,我检查每个标志设置的标志,如果两者都为真,我会调用startActivity()进行下一个活动。

我目前看到两次调用的活动,或者类似于此类行为的活动。由于屏幕执行“向左滑动”过渡到下一个活动,它有时会执行两次(当我回击时,它会返回到相同的活动)。很明显,只有一次调用 SHOULD 的两个活动版本被放在Activity堆栈上。

这可能来自同时执行的onPostExecute()和同时检查彼此设置的标志吗?这似乎极不可能,因为两个进程必须并行运行......

*****编辑***从这个问题中删除了很多,因为我认为错了。尽管如此,我发现这里的答案非常有用,所以我编辑了这个问题以反映有用的部分。

1 个答案:

答案 0 :(得分:1)

  

我能找到的唯一方法就是这样   可能是两个AsyncTasks'   onPostExecute()执行SO   同时他们是   虚拟地运行相同的线路   同时,因为我设置了   'itemXdownloaded'标志为true   在我检查两个并打电话之前   startActivity()。

因为它们都是在主应用程序线程上调用的,所以这是不可能的,除非你做的事情很奇怪。

我会介绍一些Log电话,以确保您不会误解这些症状。

除此之外,很难从你的伪代码中看到任何问题,除非有超出所示三个值的其他downloadID值。例如,如果在DL4DL4之后有DL1DL2完成,DL4会触发您的活动。