ユーザーがデバイスからいくつかの画像を選択して別のユーザーに送信できるようにするギャラリー画面を開発しています。画像の読み込みに使用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を集中的に使用するため、デコードとアプリの残りの部分が遅くなる可能性があります
結果は、ユーザーとしての私が期待するものではありません。
誰でもこの問題を解決する方法を知っていますか?
ありがとう!