2016-01-22 1 views
7

気にしないでください。グライド力の負荷、私は今、しばらくの間、これに取り組んできた、それでSOの質問をするための時間が何であるか、解像度

Find and load cached Image in Glideはそれのように見えますが、リンクやグライドのページで議論以下のそれは私のために動作しません。アクティビティAに

、IはImageViewにURLを介して画像を読み込みます。

その後、私はデバイスでオフラインになります。次にアクティビティBを開きます。別のディメンションを持つ異なるImageViewに同じURLを読み込みます。幅と高さがアクティビティAのImageViewと等しい場合、または最初にImageViewの幅と高さを持つoverride()を指定した場合のみ機能します。しかし、活動Bはそのことを知らない。

私は活動Aで次の操作を行います。

Glide.with(context) 
    .load(url) 
    .diskCacheStrategy(DiskCacheStrategy.ALL) 
    .placeholder(R.drawable.placeholder) 
    .crossFade() 
    .into(image); 

と活動BIでは、実行します。

Glide.with(mContext) 
    .load(url) 
    .override(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL) 
    .into(imageView); 

は、私は、ディスクの戦略はあまりにもオリジナルを保存すると思ったので、上記を試してみましたので、その1つをロードします。その結果、イメージがロードされません。

私はこれが可能だと思うので、私は、バックピカソに行こうと考えていますが、私はStackOverflowの1つのより多くの試みを与えます。

ことが可能であった場合、私はすぐに恵みを投げるだろう...

答えて

9

あなたは活動Bのために、次のコードを試してみてくださいことはできますか?

Glide.with(mContext) 
    .load(url) 
    .diskCacheStrategy(DiskCacheStrategy.SOURCE) 
    .into(imageView); 
+1

WTH、これは動作しているようです!しかし、なぜ?キャッシュストラテジはダウンロードにのみ適用されますが、イメージの解像度は保存されていますが、ロードされるのはどちらではありません。説明できますか? – Boy

+0

DiskCacheStrategy.SOURCEは元のデータをキャッシュに保存します。 – ap6491

+0

私はそれがダウンロード中にそれをすることを理解します。しかし、私はこのコードを実行するとインターネットに接続していないので、キャッシュは適用されません。ダウンロードするものはありません。または、インターネットの不足のために機能しない元の画像のみを保存しようとしていて、ImageViewの幅と高さに元の画像(すでに保存されている)のサイズを変更しますか? – Boy

関連する問題