2012-08-02 16 views
7

Czy więcej niż raz bindService w tym samym kontekście z tą samą usługą?Android - bindService więcej niż raz

Czy można wielokrotnie wiązać usługęService w tym samym kontekście z tą samą usługą i unBindService tylko raz?

Dzięki

+0

Jako strona dodatkowa usługi są singletons w Androidzie, więc zawsze będziesz odzyskiwał tę samą instancję usługi, kiedy i tak będziesz wiązał. – ScouseChris

Odpowiedz

6

Jest możliwość związania pomnożyć razy do tej samej usługi z samym kontekście, ale to wygląda dla mnie jak złych praktyk. Ponadto nie możesz się odłączyć od usługi tylko raz. Musisz odłączyć wszystkie swoje ServiceConnection.

UPDATE: Jak, dlaczego to wygląda mi za złe praktyki, to dlatego, że nie mogę sobie wyobrazić, dlaczego ktoś będzie potrzeba. Myślę również, że opakowanie łączące, które będzie wiązało i odłączało tylko jeden raz i służyło jako interfejs fasadowy do obsługi, mogłoby być lepsze, ponieważ wprowadzi mniej kosztów ogólnych i mniej podatności na błędy (moim zdaniem).

+0

Dlaczego powiązanie z tą samą usługą wiele razy w tym samym kontekście jest uważane za złą praktykę? –

+0

@VitoAndolini, wygląda na to, że użyłem niewłaściwego słowa, to bardziej przypomina "patrzy na mnie" niż "przemyślany", przepraszam za to. Zaktualizowałem odpowiedź. – pepyakin

+0

Dzięki za wyjaśnienie @pepyakin! W tym tygodniu zmagałem się z DeadObjectExceptions z serwisu Android i próbowałem rozgryźć, co należy robić i czego nie robić. –