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

问题描述 投票:120回答:1

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

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

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

java android guava
1个回答
117
投票

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

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

(你也应该看看compatibility note。)

© www.soinside.com 2019 - 2024. All rights reserved.