4

我在 AsyncTask 中执行 httpClient 但在此之前另一个 AsyncTask 用于生成一些数据,这可能需要很长时间。如果设备在执行 httpClient 之前进入睡眠状态,会发生什么?对于 httpClient 请求,我是否需要 wakeLock?

4

1 回答 1

0

如果设备进入睡眠状态,onPause()则会调用您的活动。如果您不以某种奇特的方式取消/终止后台任务,则不会发生任何事情。AsyncTask运行在与主应用程序不同的线程中,因此没有什么可以阻止它们。曾经。

我不明白你的设计:两个单独AsyncTask的 s 的目的是什么?如果收集数据以填充 HTTP 请求会消耗时间,则应使用单个AsyncTask并在其中执行所有操作doInBackground(),以确保不会发生竞争条件。否则,您必须将任务链接起来,或者在第一个任务中触发第二个任务,这听起来不正确。

HTTP 客户端只是一个套接字库,不是神话中的野兽 :)

于 2012-12-26T19:05:14.697 回答