W tym samym czasie wykonywane są dwa różne AsyncTasks

Mam dwie różne implementacjeAsyncTask, powiedzmyAT1 iAT2.

AT1 jest najpierw wykonywaneAT2 jest wykonywany.AT1 czeka wdoInBackground aż doAT2 wykonał swoje zadanie odpytując te dane co 500 ms. Ale to się nigdy nie zdarza.

Tak więc zasadniczo chcę to:

Ale wydaje się, że tak się dzieje:
Z wyjątkiemAT1 nigdy się nie kończy iAT2 nigdy się nie zaczyna.

Czy mogę w jakiś sposób zmusić tych dwóchAsyncTasks do wykonania na dwóch osobnych wątkach lub czy istnieje inne rozwiązanie tego problemu?

Nie ma możliwości pierwszego uruchomieniaAT2 i po tym wykonajAT1.

EDYTOWAĆ
Dla wyjaśnienia:AT1 jest wykonywany, gdy użytkownik otworzy określony ekran i musi pobrać dane dla tego ekranu w oparciu o lokalizację.AT2 jest wykonywany po zmianie lokalizacji, a kiedy to się dzieje, wykonywane są pewne obliczenia, których nie można wykonać w wątku interfejsu użytkownika.

GdyAT2 nigdy nie został wykonany,AT1 nie ma lokalizacji do pobierania danych, więc musi czekaćAT2 skończyć. GdyAT2 ma wykonane, dane o lokalizacji już tam są iAT1 nie musi czekać.

Ponadto ten problem występuje w ICS, a nie w Android 2.3, jakta odpowiedź wskazuje.

questionAnswers(3)

yourAnswerToTheQuestion