Два разных AsyncTasks выполняются одновременно
У меня есть две разные реализацииAsyncTask
допустимAT1
а такжеAT2
.
AT1
выполняется сначала, затемAT2
выполнен.AT1
ждет вdoInBackground
до тех порAT2
выполнил свою задачу, опрашивая эти данные каждые 500 мс. Но этого никогда не происходит.
Так что я в основном хочу это:
Но то, что, кажется, происходит так:
КромеAT1
никогда не делается, иAT2
никогда не запускается
Есть ли способ, которым я могу заставить этих двоихAsyncTask
s будет выполняться в двух отдельных потоках, или есть другое решение для этого?
Невозможно сначала запуститьAT2
и после этого выполнитьAT1
.
EDIT
В целях разъяснения:AT1
выполняется, когда пользователь открывает конкретный экран, и ему необходимо загрузить данные для этого экрана в зависимости от местоположения.AT2
выполняется при изменении местоположения, и когда это происходит, выполняются некоторые вычисления, которые невозможно выполнить в потоке пользовательского интерфейса.
когдаAT2
никогда не был казнен,AT1
не имеет места для загрузки данных, поэтому нужно ждатьAT2
заканчивать. когдаAT2
has были выполнены, данные о местоположении уже есть, иAT1
не нужно ждать.
Также эта проблема возникает в ICS, а не в Android 2.3, какэтот ответ предлагает.