2009-07-14 4 views
6

측정 : 나는 매우 짧은 로딩 시간에 대한 아이폰 응용 프로그램을 최적화하는 과정에서 오전 궁금 아이폰 응용 프로그램 로딩 시간

의 시간에서 아이폰 앱의 로딩 시간을 측정하는 수단이되는 사용자 탭 앱을 사용할 수있는 시간의 아이콘 (또는 적어도 -viewDidLoad가 호출 됨)?

이상적으로 이것은 장치와 시뮬레이터에서 작동하지만 누군가가 적어도 시작 지점이 될 시뮬레이터에서만이 시간을 측정하는 방법을 찾은 경우입니다.

아니요. "스톱워치"또는 "미시시피 두 명, 미시시피 두 명"은 포함되지 않습니다. 와

시작 타이머 : - - : :-)

+0

'applicationDidLaunch'에 즉시 로그를 남기고'viewDidLoad'가 호출 된 시간을 기록 할 수 없습니까? –

답변

2
중지 할 때 viewDidAppear 다음 앱 위임의 init 메소드에서 타이머를 시작하고

NSDate *startTime = [NSDate date]; 

...로 끝 : -

NSTimeInterval elapsedTime = [startTime timeIntervalSinceNow]; 
NSLog(@"Startup tasks: %f", -elapsedTime); 

이것은 아이콘을 두드리는 순간부터 시작되지는 않지만 작업 초기 단계입니다. 디버거 콘솔에 기록 된 로그에서 이전 시간을 볼 수 있습니까?

1

응용 프로그램 대리인의 viewDidAppear에서 applicationDidFinishLauching 및 NSLog(@"finished loading");의 시작 부분에 NSLog(@"started loading");을 넣습니다. 디버거 콘솔에서 다음과 같은 것을 얻을 수 있습니다 :

2010-11-21 17:16:06.278 Phy[9157:207] started loading 
2010-11-21 17:16:06.301 Phy[9157:207] finished loading 

따라서 시뮬레이터는 앱을 시작하는 데 0.03 초가 필요합니다.

2

WWDC 2016의 일부로 Apple은 베타 2의 일부로 제공되는 새로운 환경 변수를 발표했습니다.이 변수는 응용 프로그램의 시작 시간을 기록하는 데 도움이됩니다.

위의 대답에 대한 한 가지 문제는 이미지가로드되고 리베이스 및 바인딩 픽스 업이 이루어지는 사전 주요 시간을 고려하지 않는다는 것입니다.

변수 DYLD_PRINT_STATISTICS = 1을 추가하면 콘솔에 인쇄 전 주 시간이 표시됩니다.

WWDC 2016의 세션 406은이 변수 사용법과 결과 해석 방법을 설명합니다.

관련 문제