Я написал MaskShapeTransformation для Glide, поэтому я хочу передать рисование в моем Transformation и нарисовать его с помощью Исходного растрового изображения, чтобы создать эффект маски.
Вначале я передаю рисование, подобное этомуи с SoftReference, чтобы избежать утечки памяти.
class MaskShapeTransformation(drawable: Drawable): BitmapTransformation() {
private val weakDrawable = SoftReference(drawable)
.....
}
, но когда я получаю рисование с weakDrawable.get()?
рисование было нулевым
Я не знаюпочему, но я пробовал все, пока не изменил конструктор, я просто добавляю val
к измененному такому элементу рисования, как этот
class MaskShapeTransformation(val drawable: Drawable): BitmapTransformation() {
private val weakDrawable = SoftReference(drawable)
.....
}
Произошло нечто удивительное, weakDrawable.get()?
работает хорошо!
Я очень запутан, Может кто-нибудь сказать мне, почему это?