Mam długo działające zadanie asynchroniczne, które wysyła niektóre dane do mojego serwera, a następnie zatrzymuje. Cały proces może wymagać kilku próśb i odpowiedzi. Muszę odczytać dane z bazy danych, wysłać je i obsłużyć odpowiedź oraz odpowiednio zaktualizować bazę danych. Korzystam z dostawców treści, aby czytać i aktualizować dane z bazy danych.Należy użyć getApplicationContext lub Activity.this w długim czasie AsyncTask
Teraz, aby skorzystać z dostawcy zawartości, muszę wywołać metodę getContentResolver()
w kontekście. Więc zastanawiam się, czy muszę użyć getApplicationContext
lub po prostu przekazać Activity.this
do moich metod.
Widziałem kilka postów like this wyjaśniających różnicę między tymi dwoma iw większości z nich radzą nam, aby nie używać getApplicationContext
, jeśli to możliwe. Chociaż nie chcę, aby mój AsyncTask
stracił kontekst z Activity.this
po zniszczeniu Activity
lub zmianie orientacji. Więc zastanawiam się, czy mogę użyć getApplicationContext
w moim przypadku lub użyję Activity.this
do spełnienia mojego wymagania.
Dzięki za "jak opisano tutaj". –