2016-06-17 2 views
0

내 앱에서 사용자는 설정된 속도로 화면에 단어가 깜박이도록하여 텍스트를 "속도 읽기"할 수 있습니다. 나는 내 UIViewController에서이 기능을 코딩하여 다음 단어 색인을 표시하여 을 업데이트하고 UILabel을 업데이트했지만 빨리 처리하지는 않습니다.iOS - 어느 방법으로 시간이 오래 걸리는지 찾는 방법

예를 들어, 분당 1000 단어로 100 단어로 테스트했습니다. 6 초 정도 걸리지 말고 모든 단어를 깜박이기까지 6.542045 걸립니다. 이것은 사용자가 텍스트를 읽는 데 걸리는 시간을 사용자에게 알려야하기 때문에 큰 문제입니다.

코드의 어떤 부분이 오래 걸리는지 어떻게 알 수 있습니까? 시간의 0.54 ~ ~를 먹고있는 UILabel의 업데이트입니까?

편집

내 샘플 프로젝트는 여기에서 볼 수 있습니다 : https://github.com/cnowak7/RSVPTesting

난 단지 100 번을 발사해야 가지고있는 flashText 방법. 음, 우리가 방법을 깨닫는 시간을 계산하면 101이 더 이상 단어가없고 NSTimer을 종료합니다. 콘솔에서, 독서의 끝에서, 나는 그 방법이 111 번 해고되고 있음을 볼 수 있습니다. 나는 이것이 잘못된 길일 수도 있다고 생각한다.

+0

코드를 보여주세요. –

+0

나는 github에 게시 할 작은 샘플 프로젝트를 거의 완성했습니다. 그것은 곧있을 것입니다. – Rafi

+0

타이머의 속도는 얼마나 빠릅니까? NSTimer는 고해상도 타이머가 아닙니다. .001s의 진드기가 정확도 한계에 근접합니다. http://stackoverflow.com/questions/11835023/nstimer-accuracy – Paulw11

답변

2

특정 질문은 것 같다 : 엑스 코드와 함께 제공 How do I find out what part of the code is taking so long? Is it the updating of the UILabel that's eating up 0.54~~ of the time?

내부 악기를, 한 번 프로파일 러 도구입니다. https://developer.apple.com/library/ios/documentation/DeveloperTools/Conceptual/InstrumentsUserGuide/Instrument-TimeProfiler.html

코드를 실행하고이 도구를 보면서 루틴의 모든 부분을 실행하는 데 소요 된 시간을 정확히 볼 수 있습니다. 전체 시간과 구체적인 시간의 비율로 어떤 방법이 가장 많은 시간을 들여야하는지 정확하게 분석하여 리펙토링/최적화를 통해 귀중한 부분 초를 면도하는 데 집중해야하는 위치를 정확하게 이해할 수 있습니다.

저는 Objective-C 녀석입니다. 따라서 Swift 예제를 통해 자신의 길을 혼란스럽게하려고하지 않고,이 남자가 말하도록 할 것입니다. https://www.raywenderlich.com/97886/instruments-tutorial-with-swift-getting-started

1

iOS에서 시간 소비량을 알고 싶을 때마다 항상 Instruments으로 가서 이미지에 표시된대로 시간 프로파일 러를 선택해야합니다. enter image description here

시간 프로파일 러는 너무 많은 시간을 소비하는 코드를 얻는 데 도움이됩니다.

관련 문제