Fresco要点及优化

2017-05-25  本文已影响0人  徐敏敏

一:初始配置

1.在Application中初始化,需要打开对PNG等图片的自动缩放特性(默认只支持JPG)

//初始化Fresco
ImagePipelineConfig imagePipelineConfig = ImagePipelineConfig.newBuilder(appContext)
.setDownsampleEnabled(true)
.build();
Fresco.initialize(this, imagePipelineConfig);

2.如需对网络图也能进行resiz处理以减少内存开销 setResizeAndRotateEnabledForNetwork()

二:ImageRequest

1.加载文件路径不要直接直接使用 Uri.parse(),而要使用 Uri.fromFIle()。parse不会转义文件路径的unicode字符,导致加载失败;

2.ResizeOptions一定尽量要设置,并且是ImageView所显示的大小,这样可以尽可能的缩减加载的图像尺寸,节约内存;

3.加载到BitmapCache的图片都是带Resize的,如果两处加载同一个Uri,但ResizeOptions不同的话,那也是当做两张图片;

4.GIF图闪动:Fresco是不在内存中缓存GIF图的,每次显示都是重新解码,闪动可以设置ImageDecodeOption中的setDecodePreviewFrame(true),并不设置placeholder的图片;

上一篇 下一篇

猜你喜欢

热点阅读