2017-05-11 24 views
0

ピカソがすぐに画像を読み込めないという問題に直面しています。ピカソが画像を高速に読み込むことができません

左、中央、右の画像を表示する3つのImageViewsがあります。 早送り/巻き戻しでは、特定の時点で、左、中央、右が選択され、3つのボックスに表示されます。

ここに初期化があります。 OkHttpキャッシュはLruCache

new Picasso.Builder(getApplicationContext()) 
       .downloader(new OkHttp3Downloader(picassoOkHttpClient)) 
       .memoryCache(new LruCache(99999999)) 
       .build(); 

ウィンドウが移動3000+でその上の画像の数の99メガバイトと一緒に100メガバイトです。だから私は

picasso.load(imageUrl).fetch(); 

平均画像サイズなどの画像をプリロードすることは10キロバイトである - 320x180のそれは99メガバイトLruCache未満の35メガバイトになります。急速な作品を巡回、画像の多くは(DISKから)GREENMEMORYから)とBLUEある

が、その後、いくつかの迅速なサイクル後、3枚の画像がフリーズまたは非常に遅くなります。現時点ではほとんどの画像はBLUEです。アプリはまだ応答しています。 OutOfMemoryやその他の例外はありません。

android:largeHeapオプションも有効です。

ピカソの統計情報のヒット率は非常に低いです。 150/3000。

画像が

picasso.load(leftUrl) 
.noFade() 
.noPlaceholder() 
.into(leftImageView); 

picasso.load(middleUrl) 
.noFade() 
.noPlaceholder() 
.into(middleImageView); 

picasso.load(rightUrl) 
.noFade() 
.noPlaceholder() 
.into(rightImageView); 

としてロードされている問題1 - >ピカソは、画像を3000 +ダウンロードに数分かかります。画像は他のプラットフォームで十分速く読み込まれ、十分な帯域幅(4Kをストリームするのに十分な高さ)があります。

第2版 - > Picassoに独自の時間をかけてすべての画像を読み込ませても、まだ静止します。緑は速く、青は遅く、青は凍る。

PS:「膨らんだ」画像はサイズがはるかに大きく、99MBの範囲を簡単に超えていることを理解しています。それはほとんどが緑色であるのに対し、青色のものはほとんどが緑色です。

答えて

0

私があなたの問題を理解できる唯一の理由は、巨大なサイズの非常に高い解像度の画像を使用していることです。 私はあなたがそれらの画像をロードしている間、画像のサイズを変更することを提案します。そのような 何か:

Picasso.with(getApplicationContext()).load(filePath).resize(400,400).centerCrop().into(imageView); 

はこれが役立つことを願っています!

+0

実際には、画像があるJPGはかなり圧縮されます。320x180イメージは10KBです。イメージの数が半分であっても、1500のパフォーマンスはひどいです。 – deepSymmetry

+0

サイズ変更(320,180)を試みましたが、大きな違いはありません。 – deepSymmetry

+0

一度に3000枚の画像をロードしていますか? –

0

別の画像読み込みライブラリを使用してみませんか?おそらくピカソとの瑕疵であろうか。個人的にはいつもピカソを好きになったことは一度もありませんでした。私はGlideを使い始めましたが、それについて一つの悪いことは見つけられません。これはあらゆる種類のキャッシュと変換をサポートしており、非常にうまく機能します。

例:
- グライド
- UniversalImageLoader
- フレスコ

+0

ありがとうございます。私は絶望からそれについて考えてきました。私はピカソとあらゆる可能性を排除したい。まだそれに対して私の頭を打つが解決策はありません。 – deepSymmetry

+0

Glideは私の問題を完全に解決するわけではありませんが、ピカソよりもはるかに優れています。同じ/類似の構成のミス、スキップ、フリーズが少なくなります。 PicassoにGlideのデフォルトフォーマットRGB_555を強制的に使用させた後でさえ、まだそれほど高速ではありません。 – deepSymmetry

関連する問題