128

私は、Web サービス用のかなり「厚い」モバイル クライアントである Android アプリケーションの開発に携わっています。サーバーと頻繁に通信しますが、多くの内部ロジックも備えています。そこで、Google Guavaライブラリのいくつかの機能を使用して開発プロセスを簡素化することにしました。私が非常に興味を持っている機能のリストは次のとおりです: 不変コレクション、基本ユーティリティ、コレクション拡張、関数型プログラミングのシュガーとイディオム (common.collectおよびcommon.base)、プリミティブ ユーティリティ ( common.primitives)、ハッシュ ユーティリティ ( common.hash)、コンカレント ユーティリティ (フューチャー およびAsyncFunction)。Android で使用したくないもの: common.cache(以下の質問を参照)、 (これにはOttocommon.eventbusなどのより優れた Android 固有のライブラリがあります)、 ( okioを使用できます)common.io現在 Android 用)。

Androidに Guavaを使用すると、コンパイル プロセスが大幅に遅くなり、ランタイム パフォーマンス全体が低下する可能性があることを読み ました。 Guava to Android プロジェクト - ビルドが大幅に遅くなる

では、Android プロジェクトで Guava ライブラリを使用するのは効率的ですか、それともこのライブラリはサーバー側の開発にのみ使用するように設計されており、標準的なソリューションを使用する必要がありますか? どんな説明でも大歓迎です。

4

1 に答える 1

122

(コメントするには大きすぎるので、回答を投稿します。)個人的には、すべてのJavaプロジェクトで、パフォーマンスに重大で適切にプロファイルされた問題がない場合は、Guavaライブラリ全体を使用します。たとえば、Android環境のようにメモリに問題がある場合は、ProGuardを使用して、本当に必要なGuavaのこれらの部分のみを取得できます。

さらに、Guavaを使用する多くのAndroidアプリがあります。たとえば、Google検索やYoutubeなど、Googleから直接提供される小さなアプリだけではありません。

(互換性に関する注意事項も表示されます。)

于 2013-02-20T11:44:50.830 に答える