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