Skip to content

Commit a3b7ed0

Browse files
authored
Merge pull request svga#203 from yyued/dev-memory-issue
fix: Add isRecycle check to avoid Bitmap recycled outside and draw.
2 parents 8c6a43c + 763a510 commit a3b7ed0

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
@@ -208,12 +208,16 @@ internal class SVGACanvasDrawer(videoItem: SVGAVideoEntity, val dynamicItem: SVG
208208
path.transform(frameMatrix)
209209
canvas.clipPath(path)
210210
frameMatrix.preScale((sprite.frameEntity.layout.width / drawingBitmap.width).toFloat(), (sprite.frameEntity.layout.width / drawingBitmap.width).toFloat())
211-
canvas.drawBitmap(drawingBitmap, frameMatrix, paint)
211+
if (!drawingBitmap.isRecycled) {
212+
canvas.drawBitmap(drawingBitmap, frameMatrix, paint)
213+
}
212214
canvas.restore()
213215
}
214216
else {
215217
frameMatrix.preScale((sprite.frameEntity.layout.width / drawingBitmap.width).toFloat(), (sprite.frameEntity.layout.width / drawingBitmap.width).toFloat())
216-
canvas.drawBitmap(drawingBitmap, frameMatrix, paint)
218+
if (!drawingBitmap.isRecycled) {
219+
canvas.drawBitmap(drawingBitmap, frameMatrix, paint)
220+
}
217221
}
218222
dynamicItem.dynamicIClickArea.let {
219223
it.get(imageKey)?.let { listener ->

0 commit comments

Comments
 (0)