Estou envolvido no desenvolvimento do aplicativo Android, que é um cliente móvel bastante "grosso" para um serviço da Web. Ele se comunica fortemente com o servidor, mas também possui muita lógica interna. Então, decidi usar alguns recursos da Google Guavabiblioteca para simplificar o processo de desenvolvimento. Aqui está uma lista de recursos nos quais estou muito interessado: coleções imutáveis, utilitários básicos, extensões de coleções, açúcar e expressões idiomáticas de programação funcional ( common.collecte common.base), utilitários primitivos ( common.primitives), utilitários de hash ( common.hash), utilitários simultâneos (futuros e AsyncFunction). Coisas que não quero usar no Android: common.cache(veja a pergunta abaixo), common.eventbus(temos melhores bibliotecas específicas do Android para isso, como Otto ), common.io(podemos usar okio para Android agora).
Li que o uso do Guava para Android pode desacelerar significativamente o processo de compilação e também diminuir o desempenho de todo o tempo de execução: Desempenho ruim com o Guava Cache no Android (neste caso, é razoável e não há necessidade de usar o cache do Guava para Android) e Adicionando o Google Projeto Goiaba para Android - diminui significativamente a compilação
Portanto, é eficiente usar a biblioteca Guava no projeto Android ou essa biblioteca foi projetada para ser usada apenas para o desenvolvimento no servidor, e devo usar soluções padrão? Quaisquer explicações serão muito apreciadas.