Skip to content

Simulator 지연 현상 (트러블 슈팅)

SungMinCho-Kor edited this page Jul 24, 2024 · 2 revisions

트러블 슈팅

Simulator에서 UITextField를 탭하는 경우 간헐적으로 몇초간 멈추는 현상이 발생했다.

Xcode Instruments 중에 Time Profiler를 이용하면 응답이 느린 구간을 찾을 수 있다. 응답이 지연되는 시간중 특히 긴 시간을 Severe Hang이라고 한다.

image

Simulator에서 Recording한 경우 The data volume is too high for a recoding mode of "Immediate" and some data had to be dropped to move forward 라는 오류가 발생한다. 검색한 결과 Recording Mode를 Deferred로 변경하여 해결했다. 그리고 실제 기기를 Simulator로 선택하면 해당 오류는 발생하지 않는다.

image

해당 설정을 변경해도 Severe Hang은 없어지지 않았다. 16.63초나 응답이 늦어졌다.

KeyBoard가 올라가고 내려가는 것에 애니메이션과 Constraint를 변경해주는데, 이 작업을 main 큐에서 작업을 수행하지 않았다. 그래서 main 큐로 옮겨줬다.

그리고 constraint를 isActive = false → constraint 변경 → isActive = true 로 변경하던 작업을 constarint.constant를 직접 수정하는 방법으로 변경하여 Severe Hang을 해소했다.

결과

Simulator

image

실제 기기를 Simulator로 선택

image

Clone this wiki locally