2012-12-06 2 views
0

성능 문제가있는 iOS 앱이 있습니다. 특히 사용자가 특정 핵심 데이터 기반 UITableView에서 항목을 선택하면 UI가 업데이트되기 전에 지연이 발생합니다. 순간적으로 앱에 멀티 스레딩이 거의 없으므로 UI ​​호출 스레드를 차단하는 데 너무 오래 걸리는 메서드 호출을하고있는 것 같습니다.메인 (UI) 테드를 차단하는 통화를 추적하는 방법은 무엇입니까?

코드를 실행하면 나에게 아무 것도 드러내지 않습니다. (아마도 문제가 실행 루프를 통한 다른 여행에서 발생했기 때문에 ... 확실하지는 않지만 ... iOS 개발자는 솔리드하지만 디버깅 및 프로파일 링 도구는 초보자입니다.)

태클을 시도하는 가장 좋은 방법은 무엇입니까? 이런 문제? 스레드가 순서대로 수행중인 작업과 각 호출이 걸리는 시간을 추적하거나 추적하는 방법은 무엇입니까?

감사합니다.

답변

0

인스트루먼트의 시간 프로파일 러를 확인하십시오. 프로파일 러를 사용하여 기본 대기열을 차단하지 않도록 백그라운드 대기열에 넣을 수있는 후보 방법을 식별하는 방법에 대한 실용적인 데모는 WWDC 2012 - Building Concurrent User Interfaces on iOS을 참조하십시오.

계측기 도구에 대한 기본 설명은 Instruments User Guide을 참조하십시오.하지만이 특정 계측기 인 시간 추적기에 대해 WWDC 비디오가보다 효과적인 방법이라고 생각합니다. 또한 동시 코어 데이터를 수행 한 적이 없다면 핵심 데이터 프로그래밍 가이드의 Concurrency with Core Data 섹션을 참조하십시오.

0

나는 것 두 번째 Rob 말했다 무엇 : 당신이 더 쉽게 Instruments에서 Time Profiler를 사용하여 응용 프로그램의 병목 무엇을 찾을 수 있습니다. Rob의 모든 참조는 특별히 WWDC의 참조입니다. 나는 또한이 tutmobile tuts에 들어가 기본을 다루고있다.

관련 문제