Fresco supports the streaming of progressive JPEG images over the network.
Scans of the image will be shown in the view as you download them. Users will see the quality of the image start out low and gradually become clearer.
This is only supported for network images. Local images are decoded at once, so no need for progressiveness. Also, keep in mind that not all JPEG images are encoded in progressive format, and for those that are not, it is not possible to display them progressively.
Building the image request
Currently, you must explicitly request progressive rendering while building the image request:
1 2 3 4 5 6 7 8 9
Uri uri; ImageRequest request = ImageRequestBuilder.newBuilderWithSource(uri) .setProgressiveRenderingEnabled(true) .build(); DraweeController controller = Fresco.newDraweeControllerBuilder() .setImageRequest(request) .setOldController(mSimpleDraweeView.getController()) .build(); mSimpleDraweeView.setController(controller);
We hope to add support for using progressive images with
setImageURI in a future release.
For the full sample see the
ImageFormatProgressiveJpegFragment in the showcase app: