A/Bitmap: Error, cannot access an invalid/free'd bitmap here! A/brutx.mymodeap: runtime.cc:655] Runtime aborting

В тестовой активити я пытаюсь скачать картинки с помощью Glide и объединить их в один bitmap который потом я вставляю в imageView, ошибка выпадает в тот момент когда я выхожу из этого Активити нажав <- либо даже перейдя в другой активити, ошибка происходит потому что внутри Glide все еще что то делается с bitmap, а когда активити умирает, вместе с ней помирает и битмапы, но функции все еще работают. Я пробовал использовать корутины, но это не помогло... Помогите

A/Bitmap: Error, cannot access an invalid/free'd bitmap here!
A/brutx.mymodeap: runtime.cc:655] Runtime aborting...
    runtime.cc:655] Dumping all threads without mutator lock held
    runtime.cc:655] All threads:
    runtime.cc:655] DALVIK THREADS (34):
    runtime.cc:655] "main" prio=10 tid=1 Runnable
    runtime.cc:655]   | group="" sCount=0 dsCount=0 flags=0 obj=0x71472008 self=0xe6cc0010
    runtime.cc:655]   | sysTid=3564 nice=-10 cgrp=top-app sched=0/0 handle=0xf5128478
    runtime.cc:655]   | state=R schedstat=( 1709725586 1316493703 1314 ) utm=51 stm=119 core=1 HZ=100
    runtime.cc:655]   | stack=0xff593000-0xff595000 stackSize=8192KB
    runtime.cc:655]   | held mutexes= "abort lock" "mutator lock"(shared held)
    runtime.cc:655]   native: #00 pc 00542d7e  /apex/com.android.art/lib/libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, int, BacktraceMap*, char const*, art::ArtMethod*, void*, bool)+110)
    runtime.cc:655]   native: #01 pc 006a0877  /apex/com.android.art/lib/libart.so (art::Thread::DumpStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, bool, BacktraceMap*, bool) const+1015)
    runtime.cc:655]   native: #02 pc 0069a151  /apex/com.android.art/lib/libart.so (art::Thread::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, bool, BacktraceMap*, bool) const+65)
    runtime.cc:655]   native: #03 pc 006c6194  /apex/com.android.art/lib/libart.so (art::DumpCheckpoint::Run(art::Thread*)+1172)
    runtime.cc:655]   native: #04 pc 006bf246  /apex/com.android.art/lib/libart.so (art::ThreadList::RunCheckpoint(art::Closure*, art::Closure*)+630)
    runtime.cc:655]   native: #05 pc 006be1ae  /apex/com.android.art/lib/libart.so (art::ThreadList::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, bool)+2446)
    runtime.cc:655]   native: #06 pc 0065225d  /apex/com.android.art/lib/libart.so (art::AbortState::DumpAllThreads(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, art::Thread*) const+445)
    runtime.cc:655]   native: #07 pc 0063982f  /apex/com.android.art/lib/libart.so (art::Runtime::Abort(char const*)+1967)
    runtime.cc:655]   native: #08 pc 00025a23  /apex/com.android.art/lib/libartbase.so (std::__1::__function::__func<void (*)(char const*), std::__1::allocator<void (*)(char const*)>, void (char const*)>::operator()(char const*&&)+35)
    runtime.cc:655]   native: #09 pc 0001588f  /system/lib/libbase.so (android::base::SetAborter(std::__1::function<void (char const*)>&&)::$_3::__invoke(char const*)+79)

Вот тут:

 private fun overlay(bmp1: Bitmap, bmp2: Bitmap,bmp3: Bitmap): Bitmap? {
    val bmOverlay = Bitmap.createBitmap(250, 280, Bitmap.Config.ARGB_8888)
    val canvas = Canvas(bmOverlay)
    canvas.drawBitmap(bmp1, Matrix(), null)
    canvas.drawBitmap(bmp2, 0.toFloat(), 0.toFloat(), null)
    canvas.drawBitmap(bmp3, 0.toFloat(), 0.toFloat(), null)
    bmp1.recycle()
    bmp2.recycle()
    bmp3.recycle()
    return bmOverlay

Ответы (0 шт):