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