私はこのように私のアプリでFrescoとinitializeそれを使用しています:Fresco - setDownsampleEnabled true/false?
DiskCacheConfig diskCacheConfig = ...
ImagePipelineConfig imagePipelineConfig = ImagePipelineConfig.newBuilder(this)
.setMainDiskCacheConfig(diskCacheConfig)
.build();
Fresco.initialize(this, imagePipelineConfig);
それはすべてのケースが、1つで正常に動作しています:スクロールビューの大きな画像の膨大なリスト "を。 (この場合は本当に遅い)。私は、ドキュメントを読んで
約resizing、その後setDownsampleEnabled(真)を使用してフレスコの初期化を変更ビューこの「大きな画像の膨大なリスト」の正常に動作します...しかしに対する貧結果を与える
ImagePipelineConfig imagePipelineConfig = ImagePipelineConfig.newBuilder(this)
.setMainDiskCacheConfig(diskCacheConfig)
.setDownsampleEnabled(true) // faster for downsampling of big images
.build();
Fresco.initialize(this, imagePipelineConfig);
残りの部分、特に私が画像をフルスクリーンで表示しているとき。画像はちょっと「ムジ」ですthis postを参照してください。
質問:
それだけで私のアプリの '一部' のため(真)setDownsampleEnabledを使用することは可能ですか? のsetDownsampleEnabled(true)が必要な「大きな画像の巨大なリスト」を除いて、私のすべてのアプリケーションの「標準」設定が必要です。
ImagePipelineConfigを使用して設定する方法がありますか?
率直に言えば、現在の状況はほぼOKですので、これは大きな問題ではありませんが、これが可能かどうかを知りたい場合は、結果を確認してテストしてください。
注:
私はフレスココードに掘っこれを見た:
package com.facebook.drawee.backends.pipeline;
...
public class Fresco {
...
public static void initialize(Context context, @Nullable ImagePipelineConfig imagePipelineConfig, @Nullable DraweeConfig draweeConfig) {
if(sIsInitialized) {
FLog.w(TAG, "Fresco has already been initialized! `Fresco.initialize(...)` should only be called 1 single time to avoid memory leaks!");
} else {
sIsInitialized = true;
}
...
}
...
'memory leaks'を..すごい..
だから私は、フレスコを呼び出すためにあえてしません。私のアプリケーションで2回、フルリストを表示する自分のアクティビティに対して2回、初期化(...)を2回行います。
どうすればよいですか?
ありがとうございました。
設定: (最新)フレスコ1.5.0
お返事ありがとう!私が書いたように、現在の状況は私のために十分です。だから私は物事を今のままに保つつもりです。 – Pascal