我正在开发一个画廊屏幕,以允许用户从设备中选择一些图像并发送给另一个用户。我正在使用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 密集型的
结果不是我作为用户所期望的。
任何人都知道如何解决这个问题?
谢谢!