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

时间:2013-02-20 11:28:03

标签: java android guava

我参与了Android应用程序的开发,这是一个相当“厚”的Web服务移动客户端。它与服务器进行了大量的通信,但也有很多内部逻辑。所以,我决定使用Google Guava库的一些功能来简化开发过程。以下是我非常感兴趣的功能列表:不可变集合,基本工具,集合扩展,函数式编程糖和习语(common.collectcommon.base),原语实用程序(common.primitives) ,哈希实用程序(common.hash),并发工具(期货和AsyncFunction)。我不希望在Android中使用的内容:common.cache(请参阅下面的问题),common.eventbus(我们有更好的Android专用库,例如​​{{3} }),common.io(我们现在可以使用Otto for Android)。

我读到使用Guava for Android可以显着减慢编译过程并降低整个运行时性能: okio(在这种情况下,它是合理的,并且不需要使用Guava的Android缓存)和 Bad performance with Guava Cache on Android  

那么,在Android项目中使用Guava库是否有效,或者这个库是否仅用于 用于服务器端开发,我应该使用标准解决方案?任何解释都将非常感激。

1 个答案:

答案 0 :(得分:116)

(评论太大了,所以我发布了一个答案。)我个人在每个Java项目中使用整个Guava库,当我没有重要且正确分析的性能问题时。例如,如果你有Android环境中的内存问题,你可以使用ProGuard来获取你真正需要的那些Guava部分。

此外,there are many Android apps using Guava - 不仅是小型的,即谷歌搜索和Youtube,它们直接来自谷歌。

(您还应该看到compatibility note。)

相关问题