Zaczynam używać EventBus w mojej aplikacji i jest naprawdę przyjemny w użyciu, rozwiązuje wiele problemów i upraszcza kod, a propagacja w całej aplikacji ze wszystkimi wątkami i wszystko jest fantastyczne , ale czuję, że mogę nadużywać korzystania z wydarzeń.Korzystanie z EventBus, pamięci i architektury
Na razie wszystko jest w porządku, testuję w zaawansowanych urządzeniach, a reakcja aplikacji jest naprawdę przyjemna, ale mam jeszcze wiele kodowania i zaczynam się zastanawiać, jak wpłynie to na zbyt wiele wydarzeń uruchamianie w całej aplikacji.
Pytanie dotyczy każdego, kto ma doświadczenie z tą biblioteką, jeśli występują problemy z posiadaniem wielu zdarzeń w mojej aplikacji, jeśli są jakieś znane problemy z pamięcią związane z korzystaniem z tych zdarzeń. Próbuję go użyć mądrze, ale trudno jest nie uwzględnić go w swojej architekturze, ponieważ jest to naprawdę fajna funkcja. W każdym razie, jeśli masz coś do powiedzenia na ten temat, będzie to miłe, ponieważ mam dużo kodowania do zrobienia i będzie to problem, jeśli moja architektura będzie zła i będę musiał wrócić, aby wprowadzić zmiany, ponieważ niektóre problemy związane z tymi wydarzeniami.
PD. Mówię o natywnej aplikacji dla Androida, z dużą ilością sieci
Thx
Moja opinia, osobiście uważam, że moje nadużycia są znacznie łatwiejsze niż w przypadku wzorca "obserwatora-obserwatora" (lub, na iOS, wzorzec delegatów), mimo że są bardzo podobne. Nie ma nic złego w architekturze wydarzeń, ale musisz być z nimi ostrożny. Jeśli czujesz to na początku, to jest ku temu powód. Starałbym się trzymać "obserwatora-słuchacza", chyba że jedynym sposobem na osiągnięcie czegoś jest użycie zdarzeń. Chcę tylko powtórzyć, to moja opinia. – Adam
Tak, obawiam się, że może to być trudne i trudne do utrzymania i skalowania, na razie używam biblioteki volley do pracy w sieci i obsługuję wszystkie moje wywołania zwrotne z wydarzeń i używam zdarzeń również do błędów krytycznych/problemy w mojej aplikacji, które muszą przerwać wykonywanie i muszą być propagowane w całej aplikacji, np. zapytaj o połączenie internetowe przed wywołaniem usługi sieciowej, a jeśli nie, pokaż ekran dialogowy w bieżącym widocznym działaniu/fragmencie lub Toast, ale jestem skłonny używać go coraz więcej i dlatego pytam: – labreu