TikTok은 전 세계 10억 명이 넘는 사람들이 커뮤니티를 중심으로 하는 엔터테인먼트 공간으로, 이곳에서 전 세계 10억 명이 좋아하는 콘텐츠를 발견하고 제작하며 공유합니다.
사용자층이 다양하려면 다양한 네트워크 조건과 기기 사양이 필요하며, 모든 사용자는 자신이 사용하는 기기와 상관없이 원활하고 응답성이 높은 앱 환경을 원합니다.
TikTok의 로드 속도가 느리거나 재생이 멈추면 사용자는 불만을 느끼고 앱을 완전히 잃게 됩니다. 이를 방지하기 위해 TikTok은 데이터 모니터링, 동종 앱 비교, 사용자 설문조사를 활용하여 전반적인 앱 성능을 추적합니다. 또한 팀은 UI 버벅거림, 재생 지연, 네트워크 문제를 줄이기 위해 Systrace 및 Simpleperf와 같은 프로파일링 도구도 채택했습니다. 이 방법이 효과적이기는 하지만 엔지니어링팀은 한 걸음 더 나아가 실적에 영향을 미치는 근본적인 요인을 발견하고 정량화 가능한 성과 지표를 토대로 최적화 계획을 수립할 방법을 찾고 있었습니다.
진행 방법
TikTok의 목표는 시작 속도를 더 빠르게 달성하고 더욱 원활한 재생과 사용자 경험을 보장하는 것이었습니다. 이러한 목표를 달성하기 위해 팀은 Android 개발 도구를 사용하여 개선이 필요한 영역을 찾고 개선했습니다.
TikTok의 시작 시간을 줄이기 위해 팀은 Android Jetpack의 앱 시작 라이브러리를 기반으로 시작 프레임워크를 리팩터링했습니다.
더 매끄러운 사용자 인터페이스를 만들기 위해 팀은 Andriod Studio의 Layout Inspector를 사용하여 뷰 계층 구조를 간소화하고 과도한 콘텐츠를 삭제했습니다. TikTok은 앱이 실행되는 동안 일관된 프레임 속도를 보장하기 위해 복잡한 작업을 여러 프레임에 분산하는 전략을 개발했습니다.
동영상 재생은 TikTok 앱 환경의 핵심입니다. 팀은 플레이어 인스턴스를 재사용하고 미리 로드/사전 렌더링을 활용하여 한 동영상을 시청한 다음 다른 동영상으로 전환하는 빠르고 원활한 전환을 만들었습니다.
결과
TikTok팀은 1년 넘게 Android 성능 도구를 사용하여 모든 성능 요소를 추적, 수량화, 최적화해 왔습니다. 다음을 포함한 여러 앱의 성능 지표가 크게 개선되었습니다.
- 앱 시작 시간이 45% 단축됨
- 사용자 환경에서 버벅거림, 드롭 또는 정지된 프레임이 49% 감소했으며, 동영상 재생 시 첫 프레임이 41% 빨라지고 동영상 지연 시간이 27% 감소했습니다.
사용자 환경이 개선되면서 이제 더 많은 사람들이 TikTok을 사용하고 있습니다. 세션 시간이 증가했고 사용자가 앱에서 활성 상태를 유지할 가능성이 커졌습니다. 사용자당 활성 일수는 30일 동안 1% 증가했습니다. 사용자 설문조사와 앱 평점에서도 전반적인 사용자 만족도가 크게 높아진 것으로 나타났습니다.
Android 13팀은 Android 앱 우수성을 달성하는 데 초점을 맞추고 최신 플랫폼 버전인 Android 13을 타겟팅함으로써 사용자 환경을 지속적으로 개선함으로써 더 많은 사람들이 콘텐츠를 공유하고 소비하도록 유도하고 있습니다.
현재 전 세계적으로 2억 5천만 대 이상의 대형 화면 Android 기기가 사용되고 있는 가운데, 팀은 가까운 미래에 사용자에게 더 몰입도 높은 TikTok 환경을 제공하기 위해 대형 화면 기기 도입을 늘리는 데에도 집중하고 있습니다.
시작하기
TikTok팀이 성능 데이터를 기반으로 앱을 최적화하고 Android 도구를 사용하여 전반적인 앱 환경을 개선한 방법을 자세히 알아보려면 개발자를 위한 기술 우수사례를 읽어보세요.