Палимондо спросил, как я в конечном итоге решил свою проблему ... это была куча небольших изменений, и я не совсем уверен, где сбережения приходили играть, и я объясню, почему ниже.
Мое приложение - калькулятор, поэтому у него есть тонна кнопок. Сначала я думал, что это проблема с загрузкой кнопки, но, как я объяснил в комментариях выше, Paul, даже если я загрузил 0 кнопок, которые только сбрили на 1 секунду от времени запуска. После изменения многих мелочей я смог сэкономить 3 секунды с момента запуска, что было достаточно хорошим.
У меня было фоновое изображение, которое было красивым текстурированным градиентно-иш-изображением. Я уменьшил размер файла на нем (изменил текстуру, экспортировал ее с различными опциями).
Я пошел от загрузки 100 кнопок вверх (это калькулятор), чтобы загрузить около 15, но попытался сделать это тайным способом, чтобы пользователь не заметил. Около 50 кнопок не видны, чтобы начать все равно, потому что вы должны нажать кнопку Shift, чтобы увидеть их, чтобы они были легко ленивы. Остальные видны, но я решил, что пользователь не будет использовать большинство из них при запуске, потому что сначала им нужно набрать несколько цифр. Поэтому я оставил все кнопки с числовыми значками и кнопку «Очистить» в xib, чтобы они загружались при запуске, но удаляли все остальное из xib.
Это оставило меня с большой пустой областью на экране, и на самом деле вы могли видеть кнопки, заполняющие пустую область, когда я лениво их загружал (заполняясь очень быстро, но вы могли видеть пустую область, а затем появлялись все кнопки). Поэтому я обновил графику градиента фона, чтобы включить изображения кнопок. Кажется, что кнопки там есть, но это не так, поэтому, если пользователь не нажимает поддельную кнопку в течение 2 секунд, они никогда не замечают проблемы ... и обычно они просто пытаются снова нажать эту кнопку, и к тому времени она обычно была лениво загружается и поэтому работает.
Просто напоминание для тех, кто заинтересован в ответе, я специально не ищу, почему это медленно, я ищу предложение о том, где я могу узнать об использовании инструментов для профилирования, таких как инструменты, чтобы помочь мне отследить причина. Я ищу руководство для рыбалки, а не рыбу. :) –
Прошло некоторое время с тех пор, как вы спросили ... вы, вероятно, решили эту конкретную проблему. Может быть, вы могли бы дать вам собственный ответ? – Palimondo
Я не нашел отличного ответа о том, где _learn_ об использовании инструментов профилирования для определения замедлений. Я добавлю ответ ниже, который описывает, как я в конечном итоге уменьшаю время запуска моего приложения. –