Версия SDK: 2.11.2
Предусловия: на устройстве включена функция "Вытеснение фоновых активити"
Шаги:
- Зарегистрировать
InAppCallback в onCreate активити A
- Открыть активити Б
Ожидаемый результат: активити Б открылась без утечек памяти
Фактический результат: LeakCanary выдаёт утечку
┬───
│ GC Root: Input or output parameters in native code
│
├─ dalvik.system.PathClassLoader instance
│ Leaking: NO (MindboxDI↓ is not leaking and A ClassLoader is never leaking)
│ ↓ ClassLoader.runtimeInternalObjects
├─ java.lang.Object[] array
│ Leaking: NO (MindboxDI↓ is not leaking)
│ ↓ Object[255]
├─ cloud.mindbox.mobile_sdk.di.MindboxDI class
│ Leaking: NO (a class is never leaking)
│ ↓ static MindboxDI.appModule
│ ~~~~~~~~~
├─ cloud.mindbox.mobile_sdk.di.modules.AppModuleKt$AppModule$1 instance
│ Leaking: UNKNOWN
│ Retaining 443,3 kB in 9600 objects
│ Anonymous class implementing cloud.mindbox.mobile_sdk.di.modules.AppModule
│ ↓ AppModuleKt$AppModule$1.$$delegate_3
│ ~~~~~~~~~~~~
├─ cloud.mindbox.mobile_sdk.di.modules.PresentationModuleKt$PresentationModule$1 instance
│ Leaking: UNKNOWN
│ Retaining 430,9 kB in 9171 objects
│ Anonymous class implementing cloud.mindbox.mobile_sdk.di.modules.PresentationModule
│ ↓ PresentationModuleKt$PresentationModule$1.inAppMessageViewDisplayer$delegate
│ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
├─ kotlin.SynchronizedLazyImpl instance
│ Leaking: UNKNOWN
│ Retaining 20 B in 1 objects
│ ↓ SynchronizedLazyImpl._value
│ ~~~~~~
├─ cloud.mindbox.mobile_sdk.inapp.presentation.InAppMessageViewDisplayerImpl instance
│ Leaking: UNKNOWN
│ Retaining 430,7 kB in 9164 objects
│ currentActivity instance of ru.tbank.core.tid.ui.webView.TidWebViewAuthActivity with mDestroyed = false
│ ↓ InAppMessageViewDisplayerImpl.inAppCallback
│ ~~~~~~~~~~~~~
├─ .....MainActivity$registerInAppCallback$1 instance
│ Leaking: UNKNOWN
│ Retaining 430,7 kB in 9161 objects
│ Anonymous class implementing cloud.mindbox.mobile_sdk.inapp.presentation.InAppCallback
│ this$0 instance of .....MainActivity with mDestroyed = true
│ ↓ MainActivity$registerInAppCallback$1.this$0
│ ~~~~~~
╰→ .....MainActivity instance
Leaking: YES (ObjectWatcher was watching this because ....MainActivity received
Activity#onDestroy() callback and Activity#mDestroyed is true)
Retaining 430,7 kB in 9160 objects
key = db92a149-42f7-4053-b06e-6328062f683d
watchDurationMillis = 5757
retainedDurationMillis = 757
mApplication instance of ....MainApplication
mBase instance of androidx.appcompat.view.ContextThemeWrapper
P.s. пробовали присваивать null колбэку InAppCallback в onDestroy активити А, но утечка сохраняется
Версия SDK: 2.11.2
Предусловия: на устройстве включена функция "Вытеснение фоновых активити"
Шаги:
InAppCallbackвonCreateактивити AОжидаемый результат: активити Б открылась без утечек памяти
Фактический результат: LeakCanary выдаёт утечку
P.s. пробовали присваивать null колбэку
InAppCallbackвonDestroyактивити А, но утечка сохраняется