- 图片懒加载
一般用在ListView,RecyclerView,isLoadImmediately是通过列表是否滑动判断的
public void setImageURI(Uri uri, boolean isLoadImmediately) {
ImageRequestBuilder builder = ImageRequestBuilder.newBuilderWithSource(uri);
builder.setAutoRotateEnabled(true);
builder.setLocalThumbnailPreviewsEnabled(true);
if (isLoadImmediately) {
//立即下载图片
builder.setLowestPermittedRequestLevel(ImageRequest.RequestLevel.FULL_FETCH);
} else {
//实现懒加载
builder.setLowestPermittedRequestLevel(ImageRequest.RequestLevel.BITMAP_MEMORY_CACHE);
}
ImageRequest request = builder.build();
DraweeController controller = Fresco.newDraweeControllerBuilder()
.setImageRequest(request)
.setOldController(getController())
.build();
setController(controller);
}
- 部分手机不能显示webp,解决方案如下
ImagePipelineConfig.Builder imageConfigBuilder = ImagePipelineConfig.newBuilder(this);
imageConfigBuilder.setWebpSupportEnabled(true);//支持Webp
并且在项目gradle中,添加
compile('com.facebook.fresco:webpsupport:0.9.0') {
exclude group: 'com.nineoldandroids', module: 'library'
}