0

我在我的应用程序中使用大量 AsyncTask 进行搜索、解析等。我使用 AsyncTask 是因为我需要在之前和之后更新 ui,而且使用它很容易。

问题是当我使用新线程时,旧线程没有正确死亡,然后线程停止工作。

我怎样才能避免这个问题?

4

2 回答 2

1

遵循顺序过程可能是更好的方法吗?像这样的东西

您在第一个的 onPostExecute() 中启动第二个异步任务。同样,您在第二个 onPostexecute 中启动第三个异步任务。这样,您可以更好地控制它,并且内存管理得很好(即使在内存较少的设备中)。

谢谢

于 2012-07-02T07:08:10.503 回答
1

我认为你可以使用信号。我喜欢使用CountDownLatch,您可以在其中初始化一个线程中的锁存器,并在即将完成任务时倒计时。,在其他线程调用await()上,它将被阻塞,直到前一个线程不调用countDown()

于 2012-07-02T07:19:41.260 回答