From 9a7af235b88b5404b89a01c6265e180752bb5da2 Mon Sep 17 00:00:00 2001 From: tarsin Date: Sat, 3 Dec 2022 09:26:08 +0800 Subject: [PATCH] Fix gif render, Resolve #485 --- app/src/main/java/com/hippo/image/Image.kt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/hippo/image/Image.kt b/app/src/main/java/com/hippo/image/Image.kt index 030cc8f4f..a49c5441b 100644 --- a/app/src/main/java/com/hippo/image/Image.kt +++ b/app/src/main/java/com/hippo/image/Image.kt @@ -45,6 +45,7 @@ class Image private constructor( ) { internal var mObtainedDrawable: Drawable? private var mBitmap: Bitmap? = null + private var mCanvas: Canvas? = null init { mObtainedDrawable = null @@ -88,6 +89,7 @@ class Image private constructor( } mObtainedDrawable?.callback = null mObtainedDrawable = null + mCanvas = null mBitmap?.recycle() mBitmap = null release() @@ -96,11 +98,12 @@ class Image private constructor( private fun prepareBitmap() { if (mBitmap != null) return mBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888) + mCanvas = Canvas(mBitmap!!) } private fun updateBitmap() { prepareBitmap() - mObtainedDrawable!!.draw(Canvas(mBitmap!!)) + mObtainedDrawable!!.draw(mCanvas!!) } fun render( @@ -154,7 +157,7 @@ class Image private constructor( val delay: Int get() { if (animated) - return 100 + return 10 return 0 }