나는 react-native와 다른 매체 소스 및 블로그에 대한 공식 문서를 살펴 보았으며, react-native에 UI Thread 및 JavaScript Thread 가 있음을 알게 되었습니다. 자바 스크립트 스레드는 로직에서 자바 스크립트 코드가 실행되고 API 호출이 수행되고 터치 이벤트가 처리되는 등의 스레드가 실행되는 스레드입니다. 그리고 UI Thread는 UI를 업데이트합니다. JavaScript 스레드가 프로세스에서 작업 중이고 버튼 동작이나 다른 터치 이벤트를 다시 수행하는 경우 한 프로세스를 완료 한 후 UI 업데이트 만 완료되면 느리게 느껴지거나 어딘가에 갇힐 때까지 UI 업데이트 만 완료됩니다.
예를 들어
하단 탭 네비게이터에는 네 개의 탭이 있습니다. 첫 번째 탭에는 목록보기가 있으며 두 번째 탭의 여러 지점 사이의 경로를 보여주는 맵보기가 있습니다
첫 번째 탭에서 몇 가지 버튼 동작 (목록보기에서 버튼처럼 클릭)을 수행하고 즉시 두 번째 탭으로 이동했습니다 .UI를 업데이트하는 데 약간의 지연이 있거나 첫 번째 탭에서 탐색하는 데 약간의 시간이 걸립니다 (1-3 초) 탭을 두 번째 탭으로
두 번째 탭 에서이 프로세스가 진행 중일 때 다른 탭으로 이동하면 탭 사이의 탐색이 부드럽 지 않고 많은 UI 지연이 존재하는 경우 맵이 여러 지점 사이의 경로를 가져 오는 데 시간이 (5-10 초) 걸립니다.
반응 형 앱이 터치 가능한 동작에 더 빠르게 반응하고 UI 지연을 줄이는 방법
메인 스레드에서 특정 로직을 실행하고 UI를 업데이트하여 반응이없는 애플리케이션이 지연없이 더 빠르게 응답 할 수 있도록하는 멀티 스레딩 및 백그라운드 스레딩 개념이 있습니까?