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 回答