как у меня может быть свой экземпляр 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
в обоих классах - это один и тот же экземпляр, поэтому любая модификация одного из них повлияет на другой.