YancyYe / GalleryPick

Android 图片选择器。
454 stars 87 forks source link

因为单例模式产生的bug #38

Open houwei14350 opened 6 years ago

houwei14350 commented 6 years ago

我们在调用的时候用到这个方法,其中galleryConfig是由GalleryConfig.build出来的,注意到他是一个静态的对象,所以所有的galleryConfig其实就是共用的一个对象; 我若在MainActivity里面设置了一个全局变量类似下面这个: private GalleryConfig galleryConfig = new GalleryConfig.Builder() .imageLoader(new GlideImageLoader()) // ImageLoader 加载框架(必填) .iHandlerCallBack(iHandlerCallBack) // 监听接口(必填) .provider("minihou.net.homeschoolconnect.fileprovider") // provider (必填) .pathList(listPath) // 记录已选的图片 .crop(true) // 快捷开启裁剪功能,仅当单选 或直接开启相机时有效 .isShowCamera(true) // 是否现实相机按钮 默认:false .filePath("/Gallery/Pictures") // 图片存放路径 .build();

然后我去下一个页面 又设置了一个galleryConfigNew:

private GalleryConfig galleryConfigNew = new GalleryConfig.Builder() .imageLoader(new GlideImageLoader()) // ImageLoader 加载框架(必填) .iHandlerCallBack(iHandlerCallBack) // 监听接口(必填) .provider("minihou.net.homeschoolconnect.fileprovider") // provider (必填) .pathList(listPath) // 记录已选的图片 .crop(true) // 快捷开启裁剪功能,仅当单选 或直接开启相机时有效 .isShowCamera(true) // 是否现实相机按钮 默认:false .filePath("/Gallery/Pictures") // 图片存放路径 .build();

你会发现这个galleryConfigNew和我上一个页面的galleryConfig是一个对象。然而此时我的galleryConfigNew的配置项已经发生改变。

我按返回键回到我的上一个页面,因为我刚才在下一个页面已经改变了这个config,那么此时我这个页面的galleryConfig已经发生了变化,我必须要重置,否则配置已经发生变化。

codingbooo commented 6 years ago

同问题 解决了吗