其他分享
首页 > 其他分享> > 壁画图像加载回调

壁画图像加载回调

作者:互联网

我刚刚迁移到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