토스ㅣSLASH 22 - 토스 앱 오픈시간 1초를 줄이기까지
SLASH 토스 · YouTube
AI 핵심 요약
토스 앱은 홈 화면이 보이기까지 평균 3.5초가 걸려, 앱 실행 속도를 개선하기 위해 실사용자 데이터와 Android Studio 메서드 프로파일러로 병목을 분석했다. 스플래시 화면에서 기다리던 API 요청을 없애고, 메인 스레드의 불필요한 작업을 줄였으며, 의존 관계에 따라 초기화 작업을 나눠 병렬화했다. 스플래시 액티비티 제거는 런처 동작 문제로 되돌렸고, 대신 Android 12의 스플래시 스크린 API를 적용하는 등 시행착오도 겪었다. 실행 속도뿐 아니라 스플래시 페이드아웃과 프로그레스 다이얼로그 지연 표시로 체감 사용성을 개선하는 것이 중요하다는 점을 공유했다.
- 실사용자 구간별 측정은 실제 환경을 반영하지만, 비동기 작업이 많으면 구간을 설계하고 해석하기 어렵다.
- 메서드 프로파일링은 함수별 실행 시간과 스레드 사용을 파악하는 데 유용하지만, 프로파일러 오버헤드와 난독화·인라이닝 때문에 실제 앱과 차이가 날 수 있다.
- 초기화 작업은 의존 관계를 기준으로 묶고, 순서가 필요한 작업과 병렬 실행 가능한 작업을 구분한다.
- RxJava 스케줄러가 잘못 지정되면 불필요한 작업이 메인 스레드에서 실행될 수 있으므로 트레이스를 확인한다.
- 짧은 로딩 요청마다 프로그레스 다이얼로그를 즉시 띄우기보다 일정 시간 지연해 표시하면 깜빡임을 줄일 수 있다.
소개
토스 앱을 켜는 시간 1초를 줄이기까지의 과정과 시행착오를 소개합니다. 이종현 / Android Developer 발표 자료 👉🏻 https://bit.ly/3Qbgtj8 토스 개발자 컨퍼런스 SLASH에 대한 자세한 정보는 👉🏻 https://toss.im/slash-22 컨퍼런스 및 세션에 대한 문의는 👉🏻 slash@toss.im #토스 #개발자컨퍼런스 #SLASH
비슷한 학습 자료
컨퍼런스 SLASH
토스ㅣSLASH 23 - 레고처럼 조립하는 토스 앱
컨퍼런스 SLASH
수많은 서비스를 담고 있는 대규모 iOS 앱에 어울리는 아키텍처는 무엇일까요? 프로젝트 간의 의존성과 모듈 간의 결합도를 낮춰, 더 효율적인 서비스 개발, 관리를 이뤄낸 과정을 소개합니다. 이준석, 송범근 / 토스 iOS Developer 발표 자료 👉🏻 https://bit.ly/3J33r5k 토스 개발자 컨퍼런스 SLASH에 대한 자세한 정보는 👉🏻 https://bit.ly/43kW3tO 컨퍼런스 및 세션에 대한 문의는 👉🏻 slash@toss.im 토스에 합류하고 싶다면 👉🏻 https://toss.im/career/jobs #microfeaturesarchitecture #microfeatures #iosdeveloper #토스 #개발자컨퍼런스 #SLASH *본 발표자료의 저작권은 연사에 있으며, 저작권자의 사전 서면 동의 없이 자료의 일부 또는 전부를 이용하거나 배포할 수 없습니다. *또한 해당 자료를 복제하여 SLASH 행사 홈페이지를 제...
모바일 앱 개발
컨퍼런스 SLASH
서비스가 지속적으로 최고의 사용자 경험을 제공하기 위해서는 개발자 경험(DX)이 뒷받침되어야 합니다. 토스에서 SSR을 도입하면서 겪었던 다양한 어려움과 이 를 수호하기 위한 해결법을 공유합니다. 박서진 / 토스 Frontend Developer 발표 자료 👉🏻 https://bit.ly/3ObL3Y9 토스 개발자 컨퍼런스 SLASH에 대한 자세한 정보는 👉🏻 https://toss.im/slash-22 컨퍼런스 및 세션에 대한 문의는 👉🏻 slash@toss.im #토스 #개발자컨퍼런스 #SLASH
프론트엔드 데브옵스 · 인프라
컨퍼런스 SLASH
토스ㅣSLASH 22 - iOS앱을 매주 배포 한다고?
컨퍼런스 SLASH
토스ㅣSLASH 22 - 스크래핑으로 우아한 조회 경험을 만든 방법
컨퍼런스 SLASH