This repository was archived by the owner on Dec 4, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
BoardFragment UI Blocking and Memory leak #34
Copy link
Copy link
Open
Labels
bugSomething isn't workingSomething isn't workinghigh-priorityHigh-priority featureHigh-priority feature
Description
UI Blocking
- 위치 조회를 onCreate 에서 바로 호출함
- 리사이클러뷰 여러개의 이미지 로드를 onCreate 에서 바로 호출함
Memory leak
- LoginActivity 에서 Activity 를 이용하여 카카오 로그인을 하고, 이후 BoardFragment 로 넘어오면서 앞에서 사용했던 Activity 에 대한 메모리 누수가 발생함
┬───
│ GC Root: Global variable in native code
│
├─ android.os.ResultReceiver$MyResultReceiver instance
│ Leaking: UNKNOWN
│ Retaining 3.5 MB in 4819 objects
│ ↓ ResultReceiver$MyResultReceiver.this$0
│ ~~~~~~
├─ com.kakao.sdk.auth.AuthCodeClient$resultReceiver$1 instance
│ Leaking: UNKNOWN
│ Retaining 3.5 MB in 4818 objects
│ Anonymous subclass of android.os.ResultReceiver
│ ↓ AuthCodeClient$resultReceiver$1.$callback
│ ~~~~~~~~~
├─ com.kakao.sdk.user.UserApiClient$loginWithKakaoTalk$1 instance
│ Leaking: UNKNOWN
│ Retaining 3.5 MB in 4816 objects
│ Anonymous subclass of kotlin.jvm.internal.Lambda
│ ↓ UserApiClient$loginWithKakaoTalk$1.$callback
│ ~~~~~~~~~
├─ team.dahaeng.android.data.user.repository.
│ UserRepositoryImpl$loginWithKakaoTalk$2$1 instance
│ Leaking: UNKNOWN
│ Retaining 3.5 MB in 4814 objects
│ Anonymous subclass of kotlin.jvm.internal.Lambda
│ ↓ UserRepositoryImpl$loginWithKakaoTalk$2$1.$continuation
│ ~~~~~~~~~~~~~
├─ kotlinx.coroutines.CancellableContinuationImpl instance
│ Leaking: UNKNOWN
│ Retaining 3.5 MB in 4813 objects
│ ↓ CancellableContinuationImpl.delegate
│ ~~~~~~~~
├─ kotlinx.coroutines.internal.DispatchedContinuation instance
│ Leaking: UNKNOWN
│ Retaining 1.3 kB in 30 objects
│ ↓ DispatchedContinuation.continuation
│ ~~~~~~~~~~~~
├─ team.dahaeng.android.data.user.repository.UserRepositoryImpl$kakaoLogin$1
│ instance
│ Leaking: UNKNOWN
│ Retaining 1.2 kB in 29 objects
│ Anonymous subclass of kotlin.coroutines.jvm.internal.ContinuationImpl
│ ↓ BaseContinuationImpl.completion
│ ~~~~~~~~~~
├─ team.dahaeng.android.domain.user.usecase.KakaoLoginUseCase$invoke$1 instance
│ Leaking: UNKNOWN
│ Retaining 196 B in 7 objects
│ Anonymous subclass of kotlin.coroutines.jvm.internal.ContinuationImpl
│ ↓ BaseContinuationImpl.completion
│ ~~~~~~~~~~
├─ team.dahaeng.android.activity.login.LoginViewModel$login$1 instance
│ Leaking: UNKNOWN
│ Retaining 128 B in 4 objects
│ Anonymous subclass of kotlin.coroutines.jvm.internal.ContinuationImpl
│ ↓ BaseContinuationImpl.completion
│ ~~~~~~~~~~
├─ team.dahaeng.android.activity.login.LoginActivity$onCreate$5$1 instance
│ Leaking: UNKNOWN
│ Retaining 80 B in 2 objects
│ Anonymous subclass of kotlin.coroutines.jvm.internal.SuspendLambda
│ L$0 instance of team.dahaeng.android.activity.login.LoginActivity with
│ mDestroyed = true
│ this$0 instance of team.dahaeng.android.activity.login.LoginActivity with
│ mDestroyed = true
│ ↓ LoginActivity$onCreate$5$1.L$0
│ ~~~
╰→ team.dahaeng.android.activity.login.LoginActivity instance
Leaking: YES (ObjectWatcher was watching this because team.dahaeng.
android.activity.login.LoginActivity received Activity#onDestroy()
callback and Activity#mDestroyed is true)
Retaining 3.5 MB in 4620 objects
key = 779e7682-ff6b-4f19-b880-1d2ccc4cedd3
watchDurationMillis = 12380
retainedDurationMillis = 7379
mApplication instance of team.dahaeng.android.DahaengAndroid
mBase instance of androidx.appcompat.view.ContextThemeWrapper
METADATA
Build.VERSION.SDK_INT: 30
Build.MANUFACTURER: samsung
LeakCanary version: 2.8.1
App process name: team.dahaeng.android
Stats: LruCache[maxSize=3000,hits=67267,misses=182401,hitRate=26%]
RandomAccess[bytes=17011669,reads=182401,travel=183879434998,range=52067686,size
=95606486]
Analysis duration: 17379 ms
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workinghigh-priorityHigh-priority featureHigh-priority feature