Совет разработчикам: как уменьшить размер Retina-приложений для iPad
Хотя сразу после мероприятия 7-го марта, на которой Apple показала новый iPad, компания увеличила лимит на загрузку приложений из App Store по 3G-сети с 20 мегабайт до 50 мегабайт, многие пользователи и разработчики все же столкнулись с небольшой проблемой – из-за поддержки Retina-дисплея в новом iPad, приложения в несколько раз разрослись в размерах.
Как написал в своем Twitter разработчик Пол Хаддад, после двухкратного увеличения графики Tweetbot для iPad размер приложения вырос с 8.8МБ до 24.6МБ. С такой же проблемой столкнулись и разработчики из Apple: после обновления на Retina-качество приложение Keynote увеличилось со 115МБ до 327МБ, программа Numbers выросла со 109МБ до 283МБ, а Pages – c 95МБ до 269МБ.
Таких примеров можно приводить бесконечно много. Каким же образом можно сократить размер приложений для iPad с поддержкой Retina? Ответ на этот вопрос может дать статья разработчика Дэвида Смита, которую он написал еще за пару дней до самого релиза нового iPad.
Разумное использование этих советов может значительно уменьшить размер вашего приложения, позволяя вписаться в лимит на загрузку по 3G-сети. Однако будьте осторожны и не переусердствуйте в сокращении размера. Вы никогда не должны позволять своему желанию заглушить хороший вкус и User Experience.
Список советов от Дэвида:
- Удаляйте неиспользуемый код: чаще всего это сторонние библиотеки. Также удостовертесь, не включено ли в приложение целое содержимое библиотеки, когда вам нужно лишь пару файлов.
- Удаляйте ненужные ресурсы: удостовертесь, что все файлы приложения на самом деле испоьзуются в проекте. В данной задаче вам должна помочь программа Slender, которая анализирует приложение, определяет неиспользуемые файлы и предлагает удалить их.
- Сделайте загрузку ресурсов по требованию: если ваш проект включает в себя ресурсы, вроде обучающего видео или графики, к которым пользователь будет редко обращаться, рассмотрите вариант о размещении на каком-либо стороннем сервере и загрузке их по требованию приложения.
- Используйте изображения с паттернами.
- Используйте вытянутые изображения.
- Рисуйте элементы интерфейса в Quartz.