Это хорошая идея, чтобы использовать библиотеку Google Guava для разработки Android?


Я участвую в разработке приложения для Android, которое является довольно "толстым" мобильным клиентом для веб-сервиса. Он сильно взаимодействует с сервером, но также имеет много внутренней логики. Итак, я решил использовать некоторые функции Google Guava библиотека для упрощения процесса разработки. Вот список функций, которые меня очень интересуют: неизменяемые коллекции, базовые utils, расширения коллекции, функциональное программирование сахара и идиомы (common.collect и common.base), примитивы коммунальные услуги (common.primitives), хеширования коммунальные услуги (common.hash), параллельные utils (фьючерсы и AsyncFunction). Вещи, Которые Я не хочу для использования в Android: common.cache (см. вопрос ниже), common.eventbus (у нас есть лучшие Android конкретные библиотеки для этого, такие как Отто),common.io (мы можем использовать okio для Android сейчас).

Я читал, что использование Guava для Android может значительно замедлить процесс компиляции, а также снизить производительность всей среды выполнения: плохо производительность с кешем Guava на Android (в этом случае это разумно и нет необходимости использовать кэш Guava для Android) и добавление Google Guava в проект Android-значительно замедляет сборку

Итак, эффективно ли использовать библиотеку Guava в проекте Android или эта библиотека предназначена для использования только для разработки на стороне сервера, и я должен пойти со стандартными решениями? Любые объяснения будут очень оцененный.

1 118

1 ответ:

(слишком большой для комментариев, поэтому я публикую ответ.) Лично я использую всю библиотеку Guava в каждом проекте Java, и когда у меня нет значимый и правильно профилированный проблемы с производительностью. Если у вас есть, например, проблемы с памятью, как в среде Android, вы можете использовать должны быть чтобы получить только эти части гуавы вам действительно нужно.

кроме того, есть много приложений для Android, использующих Guava - не только маленькие, т. е. поиск Google и Youtube, которые поступают непосредственно из Google.

(вы также должны увидеть примечание по совместимости.)