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