← 질문 목록
#98깊이 0
첫 화면을 빠르게 띄우려면 무엇을 미뤄야 하는가?
첫 화면에 필요 없는 초기화를 미뤄야 한다. Application과 시작 화면의 동기 작업을 줄이고 분석 도구나 캐시 예열은 지연하거나 백그라운드로 보낸다.
- 프로세스
그다음은 Application입니다. 필수 초기화만 한다
Application그다음은 첫 화면입니다. 렌더링을 시작한다
첫 화면그다음은 백그라운드입니다. 나머지를 지연 실행한다
백그라운드
콜드 시작은 시작 요청부터 첫 프레임까지 재며 프로세스 초기화도 포함한다. 웜 시작과 핫 시작은 재사용 자원이 달라서 같은 수치로 섞으면 병목을 잘못 판단한다.
시작 추적에서 메인 스레드의 디스크 접근과 클래스 로딩을 찾는다. Baseline Profile은 자주 쓰는 코드의 해석과 컴파일 비용을 줄인다.
지연 초기화도 사용 직전에 몰리면 끊김이 생긴다. 기능 우선순위와 의존성을 정하고 실제 기기에서 첫 표시와 완전 표시를 함께 측정한다.
추천 꼬리질문
관련 질문
- 화면 밖 이미지는 언제 불러와야 하는가?프론트엔드첫 화면 렌더링 최적화를 위해 중요하지 않은 리소스(화면 밖 이미지 등)의 로드 시점을 미루는 전략을 공유한다.
- 안드로이드 메인 스레드에서 무거운 작업을 하면 왜 ANR이 발생하는가?모바일첫 화면의 빠른 렌더링과 메인 스레드의 부하 감소라는 메인 스레드 최적화 관점을 공유한다.
- 설치 크기를 줄이면 실행 시 무엇을 치르는가?모바일시작 성능을 위해 줄이거나 미룬 것의 대가를 나중에 치른다는 같은 트레이드오프를 다룬다
- 첫 화면을 막는 리소스는 어떻게 줄이는가?프론트엔드
- 폰트 표시 지연과 깜빡임을 어떻게 줄이는가?프론트엔드