【发布时间】:2013-02-20 11:28:03
【问题描述】:
我参与了 Android 应用程序的开发,这是一个用于 Web 服务的相当“厚”的移动客户端。它与服务器进行大量通信,但也有很多内部逻辑。所以,我决定使用Google Guava 库的一些特性来简化开发过程。以下是我非常感兴趣的特性列表:不可变集合、基本实用程序、集合扩展、函数式编程糖和习语(common.collect 和 common.base)、原语实用程序(common.primitives)、散列实用程序(@987654331 @),并发工具(期货和AsyncFunction)。我不想在 Android 中使用的东西:common.cache(请参阅下面的问题)、common.eventbus(我们为此提供了更好的 Android 特定库,例如 Otto)、common.io (我们现在可以将okio 用于Android)。
我读到使用 Guava for Android 会显着减慢编译过程并降低整个运行时性能: Bad performance with Guava Cache on Android(在这种情况下是合理的,Android不需要使用Guava的缓存)和 Adding Google Guava to Android project - significantly slows down the build
那么,在 Android 项目中使用 Guava 库是否有效,或者该库旨在仅用于服务器端开发,我应该使用标准解决方案?任何解释将不胜感激。
【问题讨论】:
-
"但我听说 [...]" 你的消息来源是什么?
-
@jlordo 好的,看看我的编辑
-
它可以安全使用,但当然:您需要检查库的每个类是否符合您的需求。 Guava Cache 是为服务器端实现的(可能在文档中编写),所以不要在 android 上使用它。构建时间通常不是问题,运行时间更重要。
-
appbrain.com/stats/libraries/details/guava/google-guava 表示 Guava 用于 很多 Android 应用程序中。
-
很遗憾不能发布新的答案(我赞成重新开放)。有一些真实而有趣的问题,例如与值得关注的65k method limit 相关。