[解決済み] Androidの開発でGoogle Guavaライブラリを使うのは良いアイデアですか?
質問
私は、Webサービスのためのかなりquot;厚い"モバイルクライアントであるAndroidアプリケーションの開発に関与しています。これは、サーバーとの通信が多いだけでなく、多くの内部ロジックも持っています。そこで、私は
Google Guava
ライブラリのいくつかの機能を使用して、開発プロセスを簡素化することにしました。以下は、私が非常に興味を持っている機能のリストです:不変のコレクション、基本ユーティリティ、コレクション拡張、関数型プログラミングのシュガーとイディオム (
common.collect
と
common.base
) 、プリミティブ・ユーティリティ (
common.primitives
) 、ハッシュユーティリティ (
common.hash
) 、並行処理ユーティリティ (フューチャーズと
AsyncFunction
). 私の場合
いらないもの
をAndroidで使うために
common.cache
(を使うことができます(下の質問参照)。
common.eventbus
(これにはもっと良いAndroid特有のライブラリ、例えば
オットー
),
common.io
(私たちは
オキオ
を使うことができます。)
Android で Guava を使用すると、コンパイル処理が大幅に遅くなり、実行時全体のパフォーマンスも低下する可能性があると聞きました。 Android で Guava Cache を使用するとパフォーマンスが低下する (この場合は合理的であり、Android 用の Guava のキャッシュを使用する必要はありません) と Android プロジェクトに Google Guava を追加すると、ビルドが大幅に遅くなる
では、AndroidプロジェクトでGuavaライブラリを使うのは効率的なのか、それともこのライブラリは だけ にしか使えないので、標準的なソリューションにした方が良いのでしょうか?どんな説明でも非常に感謝します。
どのように解決するのですか?
(コメントするには大きすぎるので、回答を投稿します。) 個人的には、すべてのJavaプロジェクトでGuavaライブラリ全体を使用し、私が持っていないときに 重要かつ適切にプロファイリングされた パフォーマンスの問題がない場合です。もし、Android環境のようなメモリに関する問題がある場合は、Guavaを使用することができます。 プロガード を使用して、本当に必要なGuavaのこれらの部分のみを取得することができます。
さらに を使ったAndroidアプリはたくさんあります。 - Google 検索や Youtube など、Google から直接提供されている小さなものだけでなく、多くの Android アプリが Guava を使用しています。
(また 互換性ノート .)
関連
-
名前 'XXX' を持つ Bean の作成に失敗しました。自動依存関係の注入に失敗しました 解決方法
-
maven レポート エラー 解決不可能な親POM
-
Spring Bootは、Tomcatの組み込みのmaxPostSizeの値を設定します。
-
Zipファイルの圧縮・解凍にantを使用する
-
[解決済み] Android Studioにライブラリプロジェクトを追加する方法を教えてください。
-
[解決済み] Androidの開発でJava 8を使うことは可能ですか?
-
[解決済み] Android開発ツールでEclipseをアップデート v. 23
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
-
[解決済み】Android Studioです。jarをライブラリとして追加しますか?
-
[解決済み】Javaの「ダブルブレース初期化」の効率化?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
mvn' は、内部または外部のコマンド、操作可能なプログラムまたはバッチファイルとして認識されません。
-
Eclipse問題 アクセス制限。タイプ 'SunJCE' が API でないことを解決し、/jdk ディレクトリにある /jre と jre の違いについて理解を深める。
-
XMLファイル操作時のjava.util.NoSuchElementExceptionを解決する方法。
-
アクセス制限です。タイプ 'Application' は API ではない(必要なライブラリに制限がある)。
-
executeQuery()でデータ操作文が発行できない。解決方法
-
Javaでよくある構文エラー
-
java.sql.SQLException: 結果セットの開始前
-
CertificateException: XXXに一致するサブジェクトの代替DNS名が見つかりません 解決策
-
JDK8 の Optional.of と Optional.ofNullable メソッドの違いと使い方を説明する。
-
switch case文のcaseの後の列挙定数は列挙型なし