1

ユーザーがデバイスからいくつかの画像を選択して別のユーザーに送信できるようにするギャラリー画面を開発しています。画像の読み込みに使用Frescoしていますが、デバイスによっては、画像の読み込みが非常に遅く、画面のスクロールも遅くなります。

最初は、次の方法で画像をロードしていました。

Uri uriPhoto = Uri.parse("file://" + photoGallery.imageUri);
holder.draweeView.setImageURI(uriPhoto);

それから私は見つけましたsetResizeOptions()

Uri uriPhoto = Uri.parse("file://" + photoGallery.imageUri);

ImageRequest request = ImageRequestBuilder.newBuilderWithSource(uriPhoto)
        .setResizeOptions(new ResizeOptions(60, 60))
        .build();
PipelineDraweeController controller = (PipelineDraweeController) Fresco.newDraweeControllerBuilder()
        .setOldController(holder.draweeView.getController())
        .setImageRequest(request)
        .build();

holder.draweeView.setController(controller);

それは機能しますが、ドキュメントにあるように:

CPUを集中的に使用するため、デコードとアプリの残りの部分が遅くなる可能性があります

結果は、ユーザーとしての私が期待するものではありません。

誰でもこの問題を解決する方法を知っていますか?

ありがとう!

4

1 に答える 1

0

指摘したように、ダウンサンプリングをオンに設定すると、パフォーマンスが向上するはずです。実際、アプリケーションまたはアクティビティの起動時にそれを行う必要があります。

これがうまくいかない理由はありますか?

于 2016-01-04T14:39:58.740 に答える