Daily iOS
성능·디버깅

React Native 성능 경계

React Native로 만든 채팅 화면이 iOS에서 느립니다. JavaScript 렌더링, 네이티브 경계 호출, 네이티브 모듈 중 어디가 병목인지 어떻게 분리하겠습니까?

면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
짧은 답 보기

먼저 Perf Monitor로 JS 스레드 FPS와 UI 스레드 FPS를 따로 보고 어느 쪽이 떨어지는지 가른 뒤, JS가 떨어지면 React Native DevTools의 Hermes 프로파일러로 어느 컴포넌트 렌더나 JS 함수가 오래 걸리는지, UI가 떨어지면 Xcode Instruments Time Profiler로 네이티브 모듈이나 뷰 계층 비용을 보고, 두 스레드 사이 경계는 호출 횟수와 payload 크기를 로그로 세어 직렬화 비용을 잡는다.

받은 질문 공유