Android BroadcastReceiver lub prosta metoda oddzwaniania?

W moich projektach używamBroadcastReceivers jako wywołanie zwrotne z długiego działającego wątku (np. powiadomienie o aktywności, która została zakończona i wysłanie niektórych danych odpowiedzi od pracownikaThread aby aktywność mogła wyświetlać odpowiedni komunikat dla użytkownika ..). UżywaćBroadcastReceivers Muszę uważać, aby rejestrować i wyrejestrowywać odbiornik telewizyjny za każdym razem, gdy go używam, a także dbać o to, jakie wiadomości należy wysyłać esspecialy, gdy używam tej metody do różnych działań (takich jak pobieranie, wywoływanie usług WebService itp. ). A także do wysyłania niestandardowych obiektów za pośrednictwem programu Broadcast, potrzebuję także tworzyć obiektyParcelable.

W przeciwieństwie do tego podejścia, widziałem również podejście metod wywołania zwrotnego, które wydaje się być prostsze niż metoda, której używam. Metody wywołania zwrotnego są prostą implementacją metod interfejsu, które można wykorzystać do uzyskania tego samego efektu, co BroadcastRecaiver w wiadomościach aplikacji. Podejście to nie wymaga implementacji Parcelable do zwracania złożonych obiektów i nie używa kluczy takich jakBroadcastReceiver.. Myślę, że zła część polega na tym, że muszę sprawdzić obiekt wywołania zwrotnego przed wartością pustą, zanim chcę wywołać metodę wywołania zwrotnego .., a także upewnić się, że uruchamiam kod z implementacji w wątku interfejsu użytkownika, dzięki czemu mogę zaktualizować interfejs użytkownika bez błędów.

Ok, mam nadzieję, że zrozumiałeś, co chciałem powiedzieć :).

Teraz pytanie brzmi, czy uważasz, że metoda wywołania zwrotnego jest lepsza (lżejsza, czystsza, szybsza ...) niżBroadcastReceiver podejście, gdy są używane w jednej aplikacji? (Pamiętaj, że nie używam AndroidaService do pracy w tle .. tylkoAsyncTask iThreads)

Dziękuję Ci!

questionAnswers(5)

yourAnswerToTheQuestion