duckie-team / duckie-android

덕질에 끝이 없다, 취향따라 만나는 커뮤니티 덕키!
https://duckie.team
MIT License
30 stars 2 forks source link

일부 기기에서 TransactionTooLargeException 발생하는 이슈 #673

Closed riflockle7 closed 9 months ago

riflockle7 commented 10 months ago

문제

  1. container savedStateHandle 처리 시 데이터가 bundle extra 형태로 캐싱됨
  2. 갤러리 목록을 state 로 관리하고 있어, 사진 엄청 많은 안드로이드 폰의 경우 배열 10000 도 훌쩍 넘음

-> 위 2개 이슈가 겹쳐 문제 발생 (extra 제한이 걸려 크래시가 발생)

로그 확인 내용

// 맨 뒤에 cont 는 너무 많아서 줄임표시된 것

androidx.lifecycle.BundlableSavedStateRegistry.key -> "Bundle[{androidx.lifecycle.internal.SavedStateHandlesProvider=Bundle[{}], android:support:activity-result=Bundle[{KEY_COMPONENT_ACTIVITY_RANDOM_OBJECT=java.util.Random@d0358f9, KEY_COMPONENT_ACTIVITY_REGISTERED_KEYS=[], KEY_COMPONENT_ACTIVITY_REGISTERED_RCS=[], KEY_COMPONENT_ACTIVITY_PENDING_RESULT=Bundle[{}], KEY_COMPONENT_ACTIVITY_LAUNCHED_KEYS=[]}], androidx.lifecycle.ViewModelProvider.DefaultKey:team.duckie.app.android.feature.onboard.viewmodel.OnboardViewModel=Bundle[{values=[true, OnboardState(step=Login, me=User(id=32, nickname=테스트., profileImageUrl=http://k.kakaocdn.net/dn/dpk9l1/btqmGhA2lKL/Oz0wDuJn1YV2DIn92f6DVK/img_640x640.jpg, status=NEW, duckPower=null, follow=null, favoriteTags=[], favoriteCategories=[], permissions=[], introduction=null), finishOnboarding=false, profileState=NicknameDuplicateError, temporaryNickname=null, temporaryProfileImageFile=null, galleryImages=[content://media/external/images/media/1000000436, content://media/external/images/media/1000000435, cont"

해결

기타

riflockle7 commented 9 months ago

논의된 내용이라 merge 합니다.