Czy dobrym pomysłem jest korzystanie z biblioteki Google Guava dla rozwoju Androida?
[9]} jestem zaangażowany w rozwój aplikacji na Androida, która jest raczej "grubym" mobilnym klientem dla Serwisu Internetowego. Silnie komunikuje się z serwerem, ale ma również wiele wewnętrznej logiki. Postanowiłem więc wykorzystać kilka funkcji Google Guava
library, aby uprościć proces tworzenia. Oto lista cech, które bardzo mnie interesują: niezmienne Kolekcje, podstawowe utile, rozszerzenia kolekcji, Programowanie funkcyjne i idiomy (common.collect
i common.base
), narzędzia primitives (common.primitives
), haszowanie utilities (common.hash
), concurrent utils (futures i AsyncFunction
). Things I don ' t want to use in Android: common.cache
(Zobacz pytanie poniżej), common.eventbus
(mamy do tego lepsze biblioteki specyficzne dla Androida, takie jak Otto), common.io
(Teraz możemy użyć okio dla Androida).
Czytałem, że korzystanie z Guava dla Androida może znacznie spowolnić proces kompilacji, a także zmniejszyć wydajność całego runtime: zła wydajność z Guava Cache na Androida (w tym przypadku jest rozsądne i nie ma potrzeby korzystania z pamięci podręcznej Guava dla Androida) i [20]}dodanie Google Guava do projektu Androida-znacznie spowalnia budowę
Więc, czy wydajne jest korzystanie z biblioteki Guava w projekcie Android, czy ta Biblioteka jest przeznaczona do użytku tylko dla rozwoju po stronie serwera, i powinienem iść ze standardowymi rozwiązaniami? Wszelkie wyjaśnienia będą bardzo mile widziane.
1 answers
(za duży na komentarz, więc zamieszczam odpowiedź.) Osobiście używam całej biblioteki Guava w każdym projekcie Java i gdy nie mam znaczących i odpowiednio wyprofilowanych problemów z wydajnością. Jeśli masz na przykład problemy z pamięcią, takie jak w środowisku Android, możesz użyć ProGuard, Aby uzyskać tylko te części Guava, których naprawdę potrzebujesz.
Ponadto istnieje wiele aplikacji na Androida korzystających z Guava - nie tylko małych, tj. wyszukiwarki Google i Youtube, które pochodzą z bezpośrednio z Google.
(powinieneś również zobaczyć uwaga dotycząca zgodności .)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-29 10:00:23