Prevent crash when Activity is destroyed during image loading

Pull Request resolved: 138
commit_hash:cdb44dc3db5163b0d844d2b4a1e34c4c512ac98a
This commit is contained in:
zhouguan
2026-04-29 22:37:57 +03:00
committed by pkurchatov
parent fdbf7323f0
commit 08aed37653
@@ -58,14 +58,15 @@ class GlideDivImageLoader @JvmOverloads constructor(
val target = createTarget<Drawable>()
// load result will be handled by RequestListener to get dataSource
Glide.with(context).load(imageUri)
val requestManager = Glide.with(context)
requestManager.load(imageUri)
.set(Option.memory(KEY_SVG), SvgDecoder.isSvg(imageUrl))
.limitImageBitmapSizeIfNeed(canLimitSize)
.listener(ImageRequestListener(imageUrl, callback))
.into(target)
return LoadReference {
Glide.with(context).clear(target)
requestManager.clear(target)
}
}
@@ -73,10 +74,11 @@ class GlideDivImageLoader @JvmOverloads constructor(
override fun loadImage(imageUrl: String, imageView: ImageView): LoadReference {
val imageUri = Uri.parse(imageUrl)
Glide.with(context).asBitmap().load(imageUri).into(imageView)
val requestManager = Glide.with(context)
requestManager.asBitmap().load(imageUri).into(imageView)
return LoadReference {
Glide.with(context).clear(imageView)
requestManager.clear(imageView)
}
}