0

I am using glide to load few images in my app

the glide that i am using is

com.github.bumptech.glide:glide:4.11.0

The code for loading glide image is

context?.let { context ->
            Glide.with(context)
                .load(story.url)
                .diskCacheStrategy(DiskCacheStrategy.NONE)
                .skipMemoryCache(true)
                .placeholder(binding.ivStory.drawable)
                .listener(object: RequestListener<Drawable> {
                    override fun onLoadFailed(
                        e: GlideException?,
                        model: Any?,
                        target: Target<Drawable>?,
                        isFirstResource: Boolean
                    ): Boolean {
                        return false
                    }

                    override fun onResourceReady(
                        resource: Drawable?,
                        model: Any?,
                        target: Target<Drawable>?,
                        dataSource: DataSource?,
                        isFirstResource: Boolean
                    ): Boolean {
                        binding.loader.visibility = View.GONE
                        animation.start()
                        return false
                    }
                }
                )
                .into(binding.ivStory)

The exception that I am getting on firebase is as follows

Fatal Exception: java.lang.RuntimeException: Canvas: trying to use a recycled bitmap android.graphics.Bitmap@d7a7131
       at android.graphics.BaseCanvas.throwIfCannotDraw(BaseCanvas.java:55)
       at android.view.DisplayListCanvas.throwIfCannotDraw(DisplayListCanvas.java:234)
       at android.view.RecordingCanvas.drawBitmap(RecordingCanvas.java:97)
       at android.graphics.drawable.BitmapDrawable.draw(BitmapDrawable.java:529)
       at android.widget.ImageView.onDraw(ImageView.java:1376)
       at android.view.View.draw(View.java:19442)
       at android.view.View.updateDisplayListIfDirty(View.java:18392)
       at android.view.View.draw(View.java:19170)
       at android.view.ViewGroup.drawChild(ViewGroup.java:4324)
       at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4087)
       at androidx.constraintlayout.widget.ConstraintLayout.dispatchDraw(ConstraintLayout.java:1975)
       at android.view.View.draw(View.java:19445)
       at android.view.View.updateDisplayListIfDirty(View.java:18392)
       at android.view.View.draw(View.java:19170)
       at android.view.ViewGroup.drawChild(ViewGroup.java:4324)
       at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4087)
       at androidx.constraintlayout.widget.ConstraintLayout.dispatchDraw(ConstraintLayout.java:1975)
       at android.view.View.updateDisplayListIfDirty(View.java:18383)
       at android.view.View.draw(View.java:19170)
       at android.view.ViewGroup.drawChild(ViewGroup.java:4324)
       at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4087)
       at androidx.constraintlayout.widget.ConstraintLayout.dispatchDraw(ConstraintLayout.java:1975)
       at android.view.View.draw(View.java:19445)
       at android.view.View.updateDisplayListIfDirty(View.java:18392)
       at android.view.View.draw(View.java:19170)
       at android.view.ViewGroup.drawChild(ViewGroup.java:4324)
       at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4087)
       at android.view.View.updateDisplayListIfDirty(View.java:18383)
       at android.view.View.draw(View.java:19170)
       at android.view.ViewGroup.drawChild(ViewGroup.java:4324)
       at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4087)
       at android.view.View.updateDisplayListIfDirty(View.java:18383)
       at android.view.View.draw(View.java:19170)
       at android.view.ViewGroup.drawChild(ViewGroup.java:4324)
       at androidx.drawerlayout.widget.DrawerLayout.drawChild(DrawerLayout.java:1426)
       at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4087)
       at android.view.View.draw(View.java:19445)
       at android.view.View.updateDisplayListIfDirty(View.java:18392)
       at android.view.View.draw(View.java:19170)
       at android.view.ViewGroup.drawChild(ViewGroup.java:4324)
       at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4087)
       at android.view.View.updateDisplayListIfDirty(View.java:18383)
       at android.view.View.draw(View.java:19170)
       at android.view.ViewGroup.drawChild(ViewGroup.java:4324)
       at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4087)
       at android.view.View.updateDisplayListIfDirty(View.java:18383)
       at android.view.View.draw(View.java:19170)
       at android.view.ViewGroup.drawChild(ViewGroup.java:4324)
       at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4087)
       at android.view.View.updateDisplayListIfDirty(View.java:18383)
       at android.view.View.draw(View.java:19170)
       at android.view.ViewGroup.drawChild(ViewGroup.java:4324)
       at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4087)
       at android.view.View.updateDisplayListIfDirty(View.java:18383)
       at android.view.View.draw(View.java:19170)
       at android.view.ViewGroup.drawChild(ViewGroup.java:4324)
       at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4087)
       at android.view.View.draw(View.java:19445)
       at com.android.internal.policy.DecorView.draw(DecorView.java:892)
       at android.view.View.updateDisplayListIfDirty(View.java:18392)
       at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:676)
       at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:682)
       at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:790)
       at android.view.ViewRootImpl.draw(ViewRootImpl.java:3503)
       at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:3285)
       at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2782)
       at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1718)
       at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7513)
       at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1066)
       at android.view.Choreographer.doCallbacks(Choreographer.java:878)
       at android.view.Choreographer.doFrame(Choreographer.java:794)
       at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1052)
       at android.os.Handler.handleCallback(Handler.java:790)
       at android.os.Handler.dispatchMessage(Handler.java:99)
       at android.os.Looper.loop(Looper.java:210)
       at android.app.ActivityThread.main(ActivityThread.java:7080)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:523)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:863)

I am not sure what is going wrong here can some one please give proper solution for this.

eLemEnt
  • 1,741
  • 14
  • 21
  • 1
    Did you check this https://stackoverflow.com/questions/22129420/canvas-trying-to-use-a-recycled-bitmap-android-graphics-bitmap-in-android – sajidjuneja Dec 27 '22 at 08:45
  • @sajidjuneja yes i tried checking that solution but somehow its not fitting with my sample of code. – eLemEnt Dec 27 '22 at 08:59

0 Answers0