壁画图像加载回调
作者:互联网
我刚刚迁移到Fresco库,以便在我的应用程序中加载图像.
我需要收听图像加载事件,当然我在文档Listening to download events中阅读了这篇文章
这正是我所需要的,但是….
有几件事我不喜欢.
我的目标是隐藏无法从网上下载的View.
>即使在回调方法上,我也无法从控制器引用SimpleDraweeView.我需要隐藏“视图”,但似乎无法引用它.
>每次我需要加载图像时,都需要使用Builder创建控制器的对象,这在将这种方法与大量带有图像的项目一起使用时会导致性能问题.
holder.simpleDraweeViewImage.setController(Fresco.newDraweeControllerBuilder()
.setControllerListener(controllerListener)
.setUri(currentItem.getImage())
.建立());
我需要能够从控制器中引用SimpleDraweeView,并且在MVC模式方法中,如果控制器知道视图,就可以了.
请提出实现我的目标的最佳方法.
谢谢.
解决方法:
可以隐藏onFailure方法:
ControllerListener listener = new BaseControllerListener<ImageInfo>() {
@Override
public void onFinalImageSet(String id, @Nullable ImageInfo imageInfo, @Nullable Animatable animatable) {
//Action on final image load
}
@Override
public void onFailure(String id, Throwable throwable) {
//Action on failure
}
};
DraweeController controller = Fresco.newDraweeControllerBuilder()
.setUri(uri)
.setControllerListener(listener)
.build();
draweeView.setController(controller);
标签:fresco,android,performance,callback,android-image 来源: https://codeday.me/bug/20191011/1889869.html