유저의 쾌적한 쇼츠 시청을 위해
두줄요약
TVING 쇼츠 플레이어의 메모리 관리와 전환 지연 문제를 단일 플레이어 구조와 프리로드로 개선했습니다. VST를 낮추고 저사양 단말과 불안정한 네트워크에서도 더 부드러운 시청 경험을 확보했습니다.
문제 상황
- 쇼츠 플레이어가 전체 화면 세로형 UI와 다양한 탐색 동선을 동시에 만족해야 하는 핵심 기능으로 확장됨
- MVP의 다중 플레이어 구조에서 저사양 단말 OOM, 디코더 초기화 실패, SurfaceView 렌더링 복잡도 발생
- 단일 플레이어 구조에서도 다음 영상 준비가 어려워 VST 지연과 체감 버벅임이 남음
해결 방법
- 플레이어를 하나만 유지하고 Surface만 교체하는 단일 인스턴스 구조로 전환
- 첫 프레임 이미지를 미리 받아 inflate하여 전환 시점의 끊김 최소화
- 현재 영상 주변 아이템을 Rank 기반으로 프리로드해 네트워크 요청과 버퍼링을 사전 처리
성능/운영 포인트
- 탭 이탈 시 pause가 아닌 release로 디코더·Surface·Buffer 자원 즉시 정리
- VST를 핵심 지표로 관리하며 프리로드 적용 후 평균 지연을 크게 감소
- DRM, 불안정 네트워크, 일부 단말의 잔여 지연까지 추가 최적화 과제로 관리



