一:初始配置
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的图片;