由于之前没有过fresco框架,最近发现项目中SimpleDraweeView加载url没有加载出图片显示默认图,点击无法响应点击事件;但是快速多点击几次又可以响应点击事件;这种现象十分奇怪?
以下是加载方法;
public static void loadImageView(String url, SimpleDraweeView view, int defaultResource) {
Uri uri = Uri.parse(url);
GenericDraweeHierarchy hierarchy = new GenericDraweeHierarchyBuilder(MyApplication.getContext().getResources())
.setFadeDuration(100)
.setPlaceholderImage(defaultResource)//默认图
.setFailureImage(defaultResource)//加载失败
.setPlaceholderImageScaleType(ScalingUtils.ScaleType.CENTER_CROP)
.setActualImageScaleType(ScalingUtils.ScaleType.CENTER_CROP)
.build();
DraweeController controller = Fresco.newDraweeControllerBuilder()
.setUri(uri)
.setRetainImageOnFailure(true)
.setTapToRetryEnabled(true)
.setOldController(view.getController())
.build();
view.setHierarchy(hierarchy);
view.setController(controller);
}
经过排查之后,发现原来是setTapToRetryEnabled为启动点击重试(最多重试4次),默认情况下是false;所以导致点击事件无法响应;