我如何拥有一个不同的Glide实例(或适当的组件),每个实例可以有一个不同的RequestOptions
?
我尝试使用Glide.with(app).serRequestOptions(...)
创建一个不同的实例,但是看起来它将应用到单个实例并在所有实例之间共享,有没有更好的方法来解决这个问题?
解释更多:
我有一个用于图像加载的通用界面
interface ImageLoader {
fun load(view: ImageView, url: String)
}
然后我有2种不同的实现方式:
class SquareImageLoader(context:Context):ImageLoader{
private val requestManager = Glide.with(context)
.setDefaultRequestOptions(RequestOptions())
override fun load(view: ImageView, url: String) {
requestManager.load(url).into(view)
}
}
class CircularImageLoader(context:Context):ImageLoader{
private val requestManager = Glide.with(context)
.setDefaultRequestOptions(RequestOptions.centerCropTransform())
override fun load(view: ImageView, url: String) {
requestManager.load(url).into(view)
}
}
问题在于两个类中的requestManager
是同一实例,因此对其中一个进行的任何修改都会影响另一个。