2013-12-16 4 views
1

내 앱로드 시간 (즉, 초기 View Controller가 표시되기 전에 시작 이미지가 표시되는 시간)을 줄이려면 어디에서 노력해야합니까? 긴 실행 시간을 처리하는 몇 가지 질문 (예 : this)을 발견했지만 첫 번째 View Controller의 성능에만 전적으로 집중하는 것으로 보입니다. 앱의 라이프 사이클 초반부에 대한 정보를 더 찾고 있으며, 실행 방식 이미지 기간을 개선하기 위해 정리할 수있는 방법이 무엇인지 알려줍니다.iOS 실행 이미지에서 어떤 일이 발생합니까?

application:didFinishLaunchingWithOptions:이 아마도 해당 시간 창에서 호출되는 것을 상상할 수 있지만 다른 것은 무엇입니까? Xcode 템플릿의 기본 앱 디자인을 가정 해 보겠습니다. didFinishLaunching과 첫 번째보기 컨트롤러의 로딩 방법을 제외하고는 어디에서 봐야합니까?

답변

4

당신은 아마도 당신의 프로그램이 무엇을하는지 파악하기 위해 Instruments를 사용하는 법을 배워야 할 것입니다. "Time Profiler"도구는 시작하기에 좋은 곳입니다.

추상적으로 이것을 대답하는 것은 거의 불가능합니다. 진정한 대답은 "앱 작성 방법에 달려 있습니다."

(해당되는 경우. - 당신이 아마 안) 앱 위임에 init 메소드뿐만 아니라 클래스 메소드를 호출 + 초기화됩니다 시스템

스토리 보드를 사용하는 경우, 시스템을 앱의 스토리 보드를 열고 어떤보기 컨트롤러가 루트보기 컨트롤러인지 파악합니다. 해당보기 컨트롤러를로드하고 호출합니다. 따라서 해당 뷰 컨트롤러를 호출하는 모든 메소드가 실행됩니다.

일단 완료되면 didFinishLaunching : withOptions 메소드가 호출됩니다. 이 방법은 인터넷에서 콘텐츠를 다운로드하는 것과 같이 오랜 시간이 걸리는 작업을 수행하지 않도록해야합니다.

시작시 콘텐츠를 다운로드해야하는 경우 비동기 적으로해야합니다.

1

정확합니다. 또한 첫 번째 viewcontrollers 사전 출현 방식이 가벼운 지 확인하십시오 (예 : init, viewDidLoad, viewWillAppear).

어떤 mathod가 실제로 영향을 미치는지 확인하려면 전략적 포인트에서 NSThreads sleepForTimeInterval을 배치 할 수 있습니다. 물론 디버깅/개발 중에.