使用Google Guava库进行Android开发是一个好主意吗?

我参与了Android应用程序的开发,这是一个相当“厚”的Web服务移动客户端。 它与服务器有很大的交stream,但也有很多内在的逻辑。 所以,我决定使用Google Guava库的一些function来简化开发过程。 下面是我非常感兴趣的function列表:不变集合,基础实用程序,集合扩展,函数式编程糖和习语( common.collectcommon.base ),基本实用程序( common.primitives ),散列实用程序( common.hash ),并发使用(期货和AsyncFunction )。 我不想在Android中使用的东西: common.cache (请参阅下面的问题), common.eventbus (我们有更好的Android特定的库,比如Otto ), common.io (我们现在可以使用okio for Android) 。

我读到,使用Guava for Android可以显着减慢编译过程,并且还会降低整个运行时间的性能: Android上的Guava Cache性能不佳 (在这种情况下,这是合理的,不需要使用Guava的Androidcaching)和添加Google番石榴到Android项目 – 显着减慢构build

那么,在Android项目中使用Guava库是否有效呢?或者这个库用于服务器端开发,我应该使用标准解决scheme吗? 任何解释将非常赞赏。

(太大的评论,所以我发表一个答案。)就个人而言,我在每个Java项目中使用整个番石榴库,当我没有重大和正确的性能问题。 例如,如果您有Android系统环境下的内存问题,则可以使用ProGuard获取您真正需要的番石榴的这些部分。

此外, 还有很多使用番石榴的Android应用程序 – 不仅是小型应用程序 ,即谷歌search和Youtube,它们都来自谷歌。

(你也应该看兼容性说明 。)