w mojej aplikacji, mam klasę dla rzeczy interfejsu użytkownika, którego nazwa to "SettingActivity".Dlaczego AsyncTask działa w głównym wątku aplikacji?
Następnie dla wykonywania niektórych zadań w tle, wiążę tę klasę UI (SettingActivity) z Usługą. Istnieją dwie predefiniowane metody w tej usłudze (zdefiniowane w pliku .aidl), jedna to startTask(), druga to stopTask().
W funkcji startTask() wykonałem wywołanie funkcji AsyncTask. Ale kiedy sprawdziłem nazwę Looper tego AsyncTask. Jest "główny". Moim zdaniem, AsyncTask powinien rozpocząć inny wątek inny niż główny wątek.
Czy ktoś wie, dlaczego tak się dzieje?
Kody są następujące:
@Override
protected void onPreExecute() {
super.onPreExecute();
Log.d(TAG, "onPreExecute "+Looper.myLooper().getThread().getName());
}
Then I will get main as the output.
Byłoby pomocne, gdyby można było opublikować przykładowy kod. –