一:初始配置
1.在Application中初始化,需要打開對PNG等圖片的自動縮放特性(默認(rèn)只支持JPG)
//初始化Fresco
ImagePipelineConfig imagePipelineConfig = ImagePipelineConfig.newBuilder(appContext)
.setDownsampleEnabled(true)
.build();
Fresco.initialize(this, imagePipelineConfig);
2.如需對網(wǎng)絡(luò)圖也能進(jìn)行resiz處理以減少內(nèi)存開銷 setResizeAndRotateEnabledForNetwork()
二:ImageRequest
1.加載文件路徑不要直接直接使用 Uri.parse()鸠信,而要使用 Uri.fromFIle()宇挫。parse不會轉(zhuǎn)義文件路徑的unicode字符亮蒋,導(dǎo)致加載失斝鞣铡揍鸟;
2.ResizeOptions一定盡量要設(shè)置楞黄,并且是ImageView所顯示的大小池凄,這樣可以盡可能的縮減加載的圖像尺寸,節(jié)約內(nèi)存鬼廓;
3.加載到BitmapCache的圖片都是帶Resize的肿仑,如果兩處加載同一個(gè)Uri,但ResizeOptions不同的話碎税,那也是當(dāng)做兩張圖片尤慰;
4.GIF圖閃動:Fresco是不在內(nèi)存中緩存GIF圖的,每次顯示都是重新解碼雷蹂,閃動可以設(shè)置ImageDecodeOption中的setDecodePreviewFrame(true)伟端,并不設(shè)置placeholder的圖片;