私はAndroidアプリケーションの開発に携わっています。これは、Webサービス用のかなり「厚い」モバイルクライアントです。サーバーと頻繁に通信しますが、内部ロジックもたくさんあります。そこで、Google Guava
ライブラリのいくつかの機能を使用して、開発プロセスを簡素化することにしました。私が非常に興味を持っている機能のリストは次のとおりです。不変コレクション、基本ユーティリティ、コレクション拡張機能、機能プログラミングシュガーとイディオム(common.collect
およびcommon.base
)、プリミティブユーティリティ(common.primitives
) 、ハッシュユーティリティ(common.hash
)、同時ユーティリティ(将来およびAsyncFunction
)。 IでAndroidで使用したくない:common.cache
(以下の質問を参照)、common.eventbus
(より良いAndroid Otto )、common.io
などの特定のライブラリ(Androidには okio を使用できます) 。
AndroidにGuavaを使用すると、コンパイルプロセスが大幅に遅くなり、ランタイム全体のパフォーマンスも低下する可能性があることを読みました。 Android上のGuava Cacheのパフォーマンスが悪い Android用のGuavaのキャッシュを使用する必要はありません) Google GuavaをAndroidプロジェクトに追加-ビルドを大幅に遅くします
だから、AndroidプロジェクトでGuavaライブラリを使用するのが効率的ですか、このライブラリは使用するように設計されています のみ サーバー側の開発のために、標準ソリューションを使用する必要がありますか?どんな説明も大歓迎です。
(コメントには大きすぎるので、回答を投稿します。)個人的には、すべてのJavaプロジェクトでGuavaライブラリ全体を使用し、がなく、適切にプロファイリングされていない場合パフォーマンスの問題。たとえば、Android環境のようなメモリの問題がある場合は、 ProGuard を使用して、本当に必要なGuavaのこれらの部分のみを取得できます。
さらに、 Guavaを使用するAndroidアプリがたくさんあります -小さなアプリだけでなく、Googleから直接提供されるGoogle SearchやYoutubeもあります。
( compatibility note も表示されるはずです。)