2010-05-28 2 views
0

Я занимаюсь тестированием производительности в своем приложении для iphone, и я замечаю, что иногда при загрузке возникают хорошие 3-4 секунды, прежде чем я начну видеть свои NSLogs из приложенияDidFinishLaunching. Я оптимизировал, что происходит, когда код входит в applicationDidFinishLaunching, но я не уверен, как оптимизировать то, что происходит до этого. Я использую экран заставки Default.png, поэтому он просто просто кидает на этот экран, прежде чем он войдет в applicationDidFinishLaunching и начнет что-то делать.Что происходит до вызова приложенияDidFinishLaunching?

Просто, чтобы дать вам, ребята, какой-то контекст, у меня нет файлов nib, и я использую базовую анимацию, если это имеет значение. У меня около 10 различных контроллеров, и мой общий размер пакета чуть меньше 2 МБ.

ответ

0

Я немного экспериментировал и нашел, что время запуска по умолчанию для большинства приложений составляет 3 секунды или более.

Меня раздражало, что приложения для голосовых заметок заняли до 10 секунд, и я забыл, что я собирался сказать. Я попытался написать тот, который будет запускаться быстрее, и, используя default.png и автоматически запустив запись, я получил рекордер, который постоянно запускался через 1-1,5 секунды. Чтобы получить это время запуска, мне пришлось запустить рекордер до того, как интерфейс стал активным.

Однако в этом исследовании я обнаружил, что большинство приложений, например, приложение, составленное прямо из шаблона Xcode без изменений, запущено через 3-5 секунд.

Основываясь на этом факте, я бы сказал, что у вас действительно нет проблем. Время запуска падает в ожидаемом диапазоне. deanWombourne's observation about the debugger, скорее всего, правильный и, вероятно, добавляет второй или два к вашему времени запуска.

+0

Спасибо. Я думаю, вы, ребята, оба правы. Это в основном время задержки с подключением отладчика. Он загружается в течение 2-3 секунд, и я предполагаю, что на данный момент это будет достаточно хорошо. – Nefsu

1

Попробуйте запустить его без отладчика прилагается - одна из вещей, которые она делает при запуске будет ждать, чтобы подключиться к макинтошу;)

Если вы просто запустить его на устройстве без вашего Mac подключен ли Вы все еще видите медлишь?