私は、Web サービス用のかなり「厚い」モバイル クライアントである Android アプリケーションの開発に携わっています。このアプリケーションはサーバーと頻繁に通信しますが、内部ロジックも多数あります。そこで、開発プロセスを簡素化するためにライブラリの機能を使用することにしました。私が非常に興味を持っている機能のリストは次のとおりです。不変コレクション、基本ユーティリティ、コレクション拡張、関数型プログラミング シュガーとイディオム (および)、プリミティブ ユーティリティ ( )、ハッシュ ユーティリティ ( )、並行ユーティリティ (フューチャーと)。私が興味を持っている機能は次のとおりですGoogle Guava
。common.collect
common.base
common.primitives
common.hash
AsyncFunction
欲しくないAndroidで使用するには: common.cache
(以下の質問を参照) common.eventbus
(これにはAndroid固有のライブラリがあります。オットー)、common.io
(オキオ現在Android向けです。
Android に Guava を使用すると、コンパイル プロセスが大幅に遅くなり、全体的な実行時パフォーマンスも低下する可能性があると読みました。Android の Guava Cache のパフォーマンスが悪い(この場合、それは合理的であり、Android用のGuavaのキャッシュを使用する必要はありません)Android プロジェクトに Google Guava を追加すると、ビルドが大幅に遅くなります
では、AndroidプロジェクトでGuavaライブラリを使用するのは効率的でしょうか、それともこのライブラリはのみサーバー側の開発では、標準的なソリューションを採用すべきでしょうか? 説明をいただければ幸いです。
ベストアンサー1
(コメントするには長すぎるので、回答を投稿します。)個人的には、すべてのJavaプロジェクトでGuavaライブラリ全体を使用しており、重要かつ適切にプロファイルされたパフォーマンスの問題。たとえばAndroid環境のようなメモリの問題がある場合は、プロガード本当に必要なグアバの部分だけを採取します。
さらに、Guavaを使用するAndroidアプリは数多くある- Google 検索や YouTube など、Google から直接提供される小規模なものだけではありません。
(また、互換性に関する注意。