AAB에서 추출한 APK에서만 에셋 번들 로딩이 느린 문제
Android 라이브 빌드물에서만 에셋 번들 로딩 시간이 오래 걸리는 현상이 있었다.
원인을 좁히기 위해 아래 테스트를 진행했다.
- 기존 방식: Jenkins 빌드 job으로 AAB 빌드 → AAB에서 APK 추출 → 느림
- 테스트 1: Jenkins job이 아니라 빌드 머신의 Unity에서 직접 AAB 빌드 → AAB에서 APK 추출 → 여전히 느림
- 테스트 2: 개발자 로컬 PC의 Unity에서 AAB 빌드 → APK 추출 → 여전히 느림
따라서 Jenkins 빌드 스크립트에는 문제가 없다고 판단했다.
- 테스트 3: Jenkins 빌드 job에서 Release 빌드에만 있는 AAB 빌드 옵션을 끄고 APK 빌드 → 속도 정상
- 테스트 4: Unity에서 직접 AAB 빌드 옵션을 끄고 APK 빌드 → 속도 정상
따라서 Unity에서 AAB로 빌드한 뒤 추출한 APK에 문제가 있다고 판단했다.
- 테스트 5: APK를 설치하고 Android logcat으로 특별한 로그가 있는지 확인 → 에러 없음
- 테스트 6: 느린 APK와 정상 APK를 모두 설치하고 슬롯 입장을 반복하며 로그 비교 → 눈에 띄는 차이 없음
따라서 에셋을 불러오는 클라이언트 로직 자체에는 문제가 없었다.
- 테스트 7: 로그를 심어 로딩 병목 지점을 찾음 → 사운드, 스프라이트 등을 불러오는
LoadSoundResource,LoadAssetBundles등의 메서드에서 시간 차이가 났다.
임시로 예전 에셋 번들 로딩 방식으로 되돌려 해결했지만, 명확한 원인 파악과 수정은 남아 있다.
이 문제는 1.18.16 이후 Android에서 계속 재현됨을 확인했다.