調査結果:
- 違いここピカソV / sのImageLoader ...
- ライブラリーGLIDEに関する情報はこちら...
- 最近Facebookはフレスコと呼ばれる新しい画像ライブラリをリリースしました
質問:
- Picasso v / s Imageloader v / s Frescoの違いは何ですか
- いつグライドを使用できますか
- どちらが使用に最適なライブラリです。
- 各ライブラリに独自の意味がある場合、それらは何ですか?
回答:
私はフレスコプロジェクトのエンジニアの一人です。だから明らかに私は偏っています。
しかし、あなたは私の言葉を取る必要はありません。5つのライブラリ(Fresco、Picasso、UIL、Glide、およびVolley Image Loader)のパフォーマンスを並べて比較できるサンプルアプリをリリースしました。GitHubリポジトリで入手できます。
また、FrescoはMaven Centralでも利用できることを指摘しておきますcom.facebook.fresco:fresco
。
フレスコは、ピカソ、UIL、およびグライドがまだ備えていない機能を提供します。
他にもたくさんありますが(ドキュメントを参照)、これらは最も重要です。
これは非常に意見に基づく質問であることを覚えておいて、私はフィヨルドの作成をやめて簡単な表を作りました
多くのパラメーターでは、4つすべてがほぼ同じことを行うため、ライブラリの比較は困難です。フレスコを除いて、新しいメモリレベルの最適化がたくさんあるためです。特定のパラメーターが必要な場合は、お知らせください私の経験に基づく比較を参照してください。
フレスコを最小限に使用していたため、現在のエクスプロイトでフレスコを使用および理解し続けると、答えが進化する可能性があります。used personally
完成アプリで一度ライブラリ少なくともを使用しましたさ。
*注意-FrescoはGIFとWebPアニメーションをサポートするようになりました
フレスコ ソース | オフサイト
(-)
-巨大なサイズのライブラリ
-コールバックなし、ビュー、ビットマップパラメータ
-SimpleDraweeViewはwrap_contentをサポートしていません
-巨大なサイズのキャッシュ
(+)
- 非常に高速な画像ローダー(小さい画像と中程度の画像用)
-多くの機能(ツール、メモリ管理などを描く、ストリーミング)
-可能性のセットアップに直接XMLで(例えば、ラウンドコーナーのために)
- GIFのサポート
- WEBPとアニメーションWEBPサポート
ピカソ ソース | オフサイト
(-)
-インターネットからListViewへの大きな画像の読み込みが遅い
(+)
-小さなサイズの
ライブラリ
-小さなサイズのキャッシュ
-シンプルな使用
-UIがフリーズしない
-WebPサポート
グライド 源
( - )
-ビッグライブラリーのサイズ
(+)
-キャッシュの安っぽいサイズ
、使用中のシンプル-
- GIFのサポート
- WEBPサポート
-リストビューへのインターネットからの高速読み込み、大きな画像
UIが凍結されていません-
- BitmapPool再利用メモリへとしたがって、GCイベントが少ない
ユニバーサルイメージローダーの ソース
(-)
-機能制限(画像処理の制限)
-2015年11月27日以降、プロジェクトのサポートは停止
(+)
- 小さなサイズのライブラリ
-シンプルな使用
SGS2(Android 4.1)(WiFi 8.43 Mbps)で私がテストしました。Xamarin
用ではなく、Java用の公式バージョンです。
2015年10月19日
グライドを使用することを好みます。
詳細はこちら。Glideで
キャッシュを外部ストレージ(SDカード)に書き込む方法。
OutOfMemory
常に...
ImagePipelineConfig.setDownsampleEnabled(true)
ところ、フリーズを防ぐのに使えます。ただし、GIFのフレームがスキップされる場合があります。アプリに静止画像のみを表示する場合は、ぜひお試しください。
これらの答えは完全に私の意見です
ピカソは使いやすい画像ローダーです。Imageloaderも同様です。Frescoは画像の読み込みに別のアプローチを使用しています。まだ使用していませんが、ネットワークから画像を取得してキャッシュし、画像を表示するためのソリューションに似ています。次に、ピカソ/イメージローダー/グライドのように、ネットワークから画像を取得してキャッシュする画面上に画像を表示します。
グライドはピカソと多少互換性を保とうとします。ピカソが作成されたとき、私はピカソの考え方がHTTP仕様に従っており、サーバーがキャッシュポリシーを決定し、フルサイズでキャッシュし、必要に応じてサイズ変更できるようにしたと思います。グライドはHTTP仕様に従うことと同じですが、フルサイズの画像の代わりにサイズ変更された画像をキャッシュし、RGB_8888の代わりにRGB_565で画像を表示するなど、いくつかの異なる仮定を行うことでメモリフットプリントを小さくしようとします。どちらのライブラリも、デフォルト設定を完全にカスタマイズできます。
どのライブラリが最適であるかについては言うのは本当に難しいです。Picasso、Glide、Imageloaderは、十分に評価され、十分にテストされたライブラリであり、すべてデフォルト設定で簡単に使用できます。PicassoとGlideはどちらも、画像を読み込んでプレースホルダーとエラー画像を持つために1行のコードしか必要としません。動作のカスタマイズもそれほど多くの作業を必要としません。ピカソやグライドよりも古いライブラリでもあるImageloaderにも同じことが言えますが、私はそれを使用していないため、パフォーマンス/メモリ使用量/カスタマイズについてはあまり言えませんが、githubのreadmeを見ると、それもまた同じだという印象を与えます比較的使いやすくセットアップも簡単です。したがって、これらの3つのライブラリのいずれかを選択する場合、間違った決定をすることはできません。それは、個人的な好みの問題です。Facebook SDKがまだmavenCentralで正式にリリースされていないように、2014年9月以降、SDKをfacebookに使用したことがなく、2014年10月に最初のバージョンがmavenCentralでオンラインになっているようです。それについての良い意見。
3つのビッグネームライブラリの間には、大きな違いはないと思います。目立つのはフレスコ画だけですが、それはアプローチが異なり、新しく、戦闘テストされていないためです。
グライドもピカソも完璧ではありません。Glideが画像をメモリに読み込んでキャッシュする方法は、画像の読み込みをはるかに高速にするPicassoよりも優れています。さらに、人気のあるOutOfMemoryErrorからアプリを防ぐのにも役立ちます。GIFアニメーションの読み込みは、Glideによって提供される強制終了機能です。とにかく、ピカソはグライドよりも品質の高い画像をデコードします。
私はどちらが好きですか?私は非常に長い間ピカソを使用していますが、今はグライドを好むことを認めざるを得ません。ただし、ビットマップ形式をARGB_8888に変更して、Glideにフルサイズの画像とサイズ変更された画像の両方を最初にキャッシュさせることをお勧めします。残りはあなたの仕事を素晴らしいものにするでしょう!
RGB_565
。+1ピカソパレットヘルパー。
グライド対ピカソについてたくさん話をポストがありますポストは、
Picasso、Universal Image Loader、Glideで行ったベンチマークをお伝えしたいと思います。https://bit.ly/1kQs3QN
フレスコは、私がテストを実行していたプロジェクトのために、レイアウトをリファクタリングしたくなかったので(Draweeビューのため)、ベンチマークから外れていました。
私がお勧めするのは、カスタマイズ、メモリ消費、サイズとメソッドのバランスのため、ユニバーサルイメージローダーです。
あなたが持っている場合 小さなプロジェクト、私はグライドに行くでしょう(またはフレスコを試してみます)。