使用Fresco缩小图像

时间:2015-12-29 12:35:58

标签: android fresco

我正在开发一个图库屏幕,允许用户从设备中选择一些图像并发送给另一个用户。我正在使用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密集型的

结果不是我所期望的那样。

任何人都知道如何解决这个问题?

谢谢!

1 个答案:

答案 0 :(得分:0)

正如所指出的,setting downsampling on应该可以改善您的表现。您确实必须在应用程序或活动启动时执行此操作。

这有什么理由不适合你?