Skip to content
This repository was archived by the owner on Feb 6, 2023. It is now read-only.

Commit 763a510

Browse files
author
PonyCui
committed
fix: Add isRecycle check to avoid Bitmap recycled outside and draw.
1 parent d0da4d5 commit 763a510

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

library/src/main/java/com/opensource/svgaplayer/drawer/SVGACanvasDrawer.kt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -205,12 +205,16 @@ internal class SVGACanvasDrawer(videoItem: SVGAVideoEntity, val dynamicItem: SVG
205205
path.transform(frameMatrix)
206206
canvas.clipPath(path)
207207
frameMatrix.preScale((sprite.frameEntity.layout.width / drawingBitmap.width).toFloat(), (sprite.frameEntity.layout.width / drawingBitmap.width).toFloat())
208-
canvas.drawBitmap(drawingBitmap, frameMatrix, paint)
208+
if (!drawingBitmap.isRecycled) {
209+
canvas.drawBitmap(drawingBitmap, frameMatrix, paint)
210+
}
209211
canvas.restore()
210212
}
211213
else {
212214
frameMatrix.preScale((sprite.frameEntity.layout.width / drawingBitmap.width).toFloat(), (sprite.frameEntity.layout.width / drawingBitmap.width).toFloat())
213-
canvas.drawBitmap(drawingBitmap, frameMatrix, paint)
215+
if (!drawingBitmap.isRecycled) {
216+
canvas.drawBitmap(drawingBitmap, frameMatrix, paint)
217+
}
214218
}
215219
dynamicItem.dynamicIClickArea.let {
216220
it.get(imageKey)?.let { listener ->

0 commit comments

Comments
 (0)