как уменьшить масштаб приложения на андроид
Как уменьшить значки на телефоне Андроид? Лучшие способы
Современные телефоны позволяют устанавливать большое количество различных программ. Это могут быть мессенджеры, игры, социальные сети, банковские приложения и прочее. Каждая утилита запускается посредством нажатия по иконке, расположенной непосредственно на рабочем столе или в меню со всем софтом. В зависимости от установленной прошивки и лаунчера размеры значков могут быть разными. Одни пользователи любят крупные иконки, а другие наоборот предпочитаются почти незаметные обозначения. В данной статье давайте подробно рассмотрим, как уменьшить значки на телефоне Андроид. Помимо стандартных способов будут разобраны варианты с использованием сторонних приложений.
Способ 1: изменяем масштаб
Операционная система Android является довольно гибкой платформой, поэтому при желании любой пользователь или разработчик может вносить незначительные изменения. В настройках мы можем выбрать нужную яркость экрана, поменять обои рабочего стола, добавить необходимые виджеты и даже изменить размер шрифта. Как раз для уменьшения значков будем использовать одну из особенностей системы, а именно возможность изменения масштаба. Для реализации задуманного потребуется открыть настройки, а затем следовать рекомендациям из инструкции:
Главным недостатком данного способа является то, что помимо самих иконок приложений изменяется размер всех объектов на экране. То есть станет меньше текст, виджеты и другая информация. Также такой метод нельзя назвать универсальным, так как он работает только на телефонах с Андроид 6 и выше.
Важно: изменить масштаб изображения на экране можно не на каждом смартфоне!
Способ 2: изменяем размер сетки
Вы, наверное, замечали какую-то закономерность в расположении значков на экране? Все иконки в одинаковом количестве находятся в каждом из рядов. При желании размер сетки можно изменить, и тогда вместо четырех приложений в ряду их станет пять или более. Понятное дело, что при таком редактировании уменьшится и размер каждого из значков. Нужная вкладка с настройками спрятана в специальном меню, для доступа к которому необходимо удержать палец на сенсорной кнопке с опциями, а после выбрать «Настройки».
Теперь остается в поле «Сетка рабочего стола» выставить значение «5х5» или выше.
Выбираем нужный размер сетки
Всё опять-таки зависит от размера дисплея смартфона.
Способ 3: используем сторонний лаунчер
Если в стандартном лаунчере отсутствует возможность выбора размера значков, то нам ничего не мешает установить стороннюю программу, где нужная опция реализована. Сейчас в Google Play имеется множество лончеров от разных разработчиков, которые чем-то между собой отличаются. Где необходимая опция присутствует точно, так это в приложении Apex Launcher. Давайте установим данный лаунчер из Play Marketa, нажав по соответствующей кнопке. Программа не занимает много памяти, поэтому её можно назвать универсальной.
Устанавливаем сторонний лаунчер
После завершения инсталляции нажимаем по сенсорной кнопке «Домой», ставим галочку в пункте «Запомнить выбор» и выбираем «Apex Launcher». Далее система предложит выполнить настройку внешнего вида, прибрести платную версию и ознакомиться с функционалом лаунчера. Если ничего из этого не интересует, то нажимаем по клавише «Пропустить».
А вот теперь можем переходить к уменьшению значков приложений. Для этого открываем фирменную программу «Настройки Apex», которая расположена на первом окне рабочего стола. Перед нами открывается перечень возможных настроек, где необходимо проследовать по следующему пути: «Меню приложений» → «Компоновка меню приложений» → «Размер иконок». Для изменения размера иконок достаточно переместить ползунок вправо или влево. То есть чем меньше число возле пункта, тем мельче сами значки.
Изменяем размер иконок
Чтобы сохранить изменения достаточно свернуть открытое окно или вернуться назад. Сам лаунчер довольно неплохой, но дизайн у него конечно же на любителя. При желании вы можете использовать другие программы, которые найдете на просторах Google Play.
Вывод
В данной статье мы рассказали о том, как уменьшить или увеличить значки на телефоне Андроид. Оптимальным вариантом является изменение размера сетки приложений, или же редактирование масштаба самих иконок в настройках лаунчера. Редакция нашего сайта всегда рада ответить на ваши вопросы и помочь, поэтому при необходимости пишите их в комментариях!
Настройка масштаба интерфейса на Android
Масштаб интерфейса на устройстве Андроид – это размер всех элементов меню. Благодаря возможности его настроек, можно легко отрегулировать все под максимально удобный вид. Изменять масштаб можно, начиная с версии ОС Android 7.0 Nougat. Но на устройствах некоторых производителей, имеющих свою фирменную оболочку, функция уменьшения или увеличения масштаба присутствует уже давно. Они внедрили её еще на более ранних версиях Андроид.
Из статьи вы узнаете
Зачем менять масштаб?
В первую очередь, его можно изменять для того, чтобы на экран телефона помещалось больше информации. Это особенно полезно, если вы часто проводите время в мессенджерах, социальных сетях и так далее.
Также если пользователь постоянно не попадает в нужное место на экране, то для комфортной работы необходимо отрегулировать интерфейс чтобы кнопки управления были больше. Соответственно, по ним уже будет легче попасть.
В качестве примера посмотрите на эти два скриншота. На одном масштаб маленький, а на другом большой:
На что влияет масштаб?
Как видим из вышеприведенного скриншота, в первую очередь он влияет на количество информации на экране в один кадр. То есть, чем больше масштаб, тем больше помещается на экран полезной информации от приложений. Соответственно, становится удобнее пользоваться смартфоном из-за того, что не нужно всегда пролистывать экран для получения скрытой информации. С большим масштабом на экране больше текста, больше картинок, ведь сам интерфейс занимает меньше места.
На примере скриншота отлично видно, что с большим масштабом поместилось сразу четыре линии настроек, в то время как на маленьком масштабе всего две. Таким образом, мы увеличиваем количество информации на экране и делаем работу с гаджетом более удобной, быстрой и комфортной.
Также стоит отметить, что такие настройки задевают размеры только частиц интерфейса, при этом, не трогая размер шрифта, вставленных картинок, видео, фото и так далее.
При изменении размера интерфейса меняются только те параметры, что заданы как программа, а не как графический элемент. То есть если картинка будет одного размера, то она не станет меньше либо больше с изменением масштаба, так как картинка не относится к интерфейсу, она уже считается как контент. Следственно, размер интерфейса никак не повлияет на отображение в играх, при просмотре фильмов в плеере, в галерее и так далее. Данный метод делает размер интерфейса только для полигонов системы, которые создаются в виде кода, а не графики.
Масштаб будет применен к следующим частям системы:
А вот эти элементы не будут изменяться:
Первый способ
В данном случае доступно лишь 4 режима:
Увы, в этом методе нельзя более широко настроить масштаб интерфейса, все ограничивается лишь четырьмя пучками. Зато все очень быстро и удобно. Также при изменении масштаба есть картинка, показывающая, как будет выглядеть интерфейс в разных приложениях.
Второй способ
Более сложный, но и более гибкий. Во втором способе можно изменять размер насколько угодно, хоть до мельчайшего интерфейса, который не будет видно, хоть до очень большого, где одна кнопка будет на весь экран. Конечно, так сильно выкручивать интерфейс не стоит, но сам факт такой возможности говорит нам о полной свободе выбора через второй способ.
Для применения нужно зайти в режим «Для разработчиков». Делаем следующие шаги:
4 Replies to “ Настройка масштаба интерфейса на Android ”
я решил попробовать это на устройстве BQ SPRING я использовал второй способ и изменил ширину с 320 на 3200 и у меня произошёл сбой в системе то есть появилось окно: сбой в приложении «интерфейс системы» (и 1 вариант) закрыть приложение, я нажимаю появляется чёрный экран. Я пробовал включить безопасный режим, просто перезагрузить, подключил к ПК, посмотрел, единственная информация о телефоне — это заряд батареи издатель модель и серийный номер ВСЁ. ПОЖАЛУЙСТА СКАЖИТЕ КАК ИСПРАВИТЬ.
У меня тоже такая проблема как ты решил? Скажи пожалуйста
я решил попробовать это на устройстве doogee x60l я использовал второй способ и изменил ширину с 320 на 648 и у меня произошёл сбой в системе то есть появилось окно: сбой в приложении «интерфейс системы» (и 1 вариант) закрыть приложение, я нажимаю появляется чёрный экран. Я пробовал включить безопасный режим, просто перезагрузить, подключил к ПК, посмотрел, единственная информация о телефоне — это заряд батареи издатель модель и серийный номер ВСЁ. ПОЖАЛУЙСТА СКАЖИТЕ КАК ИСПРАВИТЬ.
У меня тоже такая проблема что ты сделал скажи пожалуйста?
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
Как увеличить/уменьшить значки на экране телефона Android
Если значки на экране телефона плохо видно, то можно настроить их подходящий размер. Изменить параметры экрана возможно при помощи стандартных средств и сторонних приложений. Давайте рассмотрим самые эффективные способы, как увеличить или уменьшить значки на экране телефона Андроид.
Данная статья подходит для всех брендов, выпускающих телефоны на Android 11/10/9/8: Samsung, HTC, Lenovo, LG, Sony, ZTE, Huawei, Meizu, Fly, Alcatel, Xiaomi, Nokia и прочие. Мы не несем ответственности за ваши действия.
Внимание! Вы можете задать свой вопрос специалисту в конце статьи.
Масштаб интерфейса Андроид
Масштаб экрана изменяется с целью размещения на нем максимального количества информации. В интерфейсе девайса одновременно с этим изменяется размер окон и значков.
Первый метод
Не знаешь как решить проблему в работе своего гаджета и нужен совет специалиста? На вопросы отвечает Алексей, мастер по ремонту смартфонов и планшетов в сервисном центре.Напиши мне »
Здесь доступны такие режимы:
Выбрав этот способ, у вас не будет широких возможностей для настройки масштаба интерфейса. Здесь предлагается выбрать один из 4-х пунктов.
Такая настройка выполняется удобно и оперативно. Во время изменения настроек демонстрируется специальная картинка. Она показывает, какой именно вид интерфейс будет иметь в разных программах.
Второй метод
Способ является более гибким, но и более сложным. Здесь можно изменить размер по собственному усмотрению до самого мелкого значения или до максимально возможного, когда иконки будут занимать весь экран.
Чтобы сделать значки больше или меньше, необходимо активировать режим «Для разработчиков». Инструкция:
Приложение Beautiful Icon Styler
Утилита используется для работы со сторонними иконками в системе Андроид. Для ее использования рут права не требуются.
Главным плюсом софта стало то, что изменить размер значков можно путем совершения нескольких нажатий. Программа отлично работает в стоковом лаунчере Андроид.
Сначала пользователю необходимо скачать Beautiful Icon Styler из Play Google. После запуска софта можно инсталлировать предложенные наборы со значками.
После инсталляции утилиты жмем «Apply» для ее использования. Через пару секунд приложение можно закрыть, а рабочий стол примет новый вид.
Minimal ADB and Fastboot для Windows
Размер иконок на экране телефона Андроид зависит от плотности пикселей на дюйм (DPI). Для изменения этого параметра при помощи утилиты Minimal ADB and Fastboot выполняем такие шаги:
Если на телефоне установлены root права, то показатель DPI можно изменить при помощи подходящего файлового менеджера с root доступом, к примеру, ES file explorer.
Пользователю нужно будет открыть в директории /system файл build.prop. В этом файле следует найти строчку «ro.sf.lcd_density=» и ввести нужное значение DPI. Затем сохраняем осуществленные изменения и перезапускаем телефон.
Приложение Google Now Launcher
У компании Гугл имеется своя пусковая установка, преимущество которой заключается в интеграции с сервисом Гугл Now (пользователю достаточно на главном экране телефона провести пальцем влево). В этой опции отсутствует большое разнообразие параметров персонализации, но все иконки большого размера демонстрируются по умолчанию. Такие иконки более читабельны.
Минусом этого способа стала его доступность – установить софт можно только из Плей Маркета на ограниченное число гаджетов.
Приложение Apex Launcher
Данная программа предназначена для телефонов на системе Андроид 4.0.4 и выше. Это решение будет отличным выбором для устаревших гаджетов.
В утилите имеется большое количество настроек персонализации. Запустив программу впервые, на главном экране отобразится иконка «Параметры Apex». Она будет ярлыком для конфигурации и параметров.
В настойках предоставляется опция по изменению размера иконок. На экране отобразится слайдер для увеличения или уменьшения этого значения в процентах.
Здравствуйте. Подскажите пожалуйста, можно ли изменить размер значков время, уведомлений, заряда батареи, иконы сотовой сети в строке состояния на сотовом телефоне Samsung Galaxy A31.
Купила недавно телефон, все устраивает, вот только бесит строка состояния, настолько микроскопические значки и иконки, приходится приглядываться, да и цветность бледная. До этого у меня был Хонор, там все отлично видно было видно. На самсунге же размер значков в строке состояния где то 2 мм, очень не удобно.
Добрый день! Сверху, на экране появился маленький треугольник с двумя стрелками внутри его, направленными в разные стороны. что это такое и как его (символ) убрать?
Samsung S7.
Заранее благодарю
С уважением
Как уменьшить значки на телефоне Самсунг А 105F
Сжимаем несжимаемое – как уменьшить дистрибутив мобильного приложения
Сегодня в магазинах приложений для платформ iOS и Android существует ограничение на размер приложения в 100 МБ. Магазин Apple для приложений, которые не укладываются в этот лимит, запрещает закачку при помощи мобильного интернета. В Google Play же это строгий лимит на размер APK – все, что не укладывается в него, должно быть вынесено в файлы дополнений. Для пользователей с платным трафиком закачка большого приложения может быть довольно затратной, поэтому его размер нужно стараться уменьшить всеми силами.
Формат магазина приложений Apple
Большую часть занимают ресурсы игры, при этом исполняемый файл почти не уступает им. Системные ресурсы и ресурсы SDK при этом занимают достаточно мало места в архиве, поэтому оптимизировать их чаще всего нет смысла.
Оптимизация размера исполняемого файла
Исполняемый файл занимает так много места по двум причинам:
Пункт 2 актуален всегда. При расчете предполагаемого размера IPA нужно учитывать несжатый размер исполняемого файла. В лучшем случае он сожмется только незначительно. Именно поэтому Apple не рекомендуют хранить большие объемы данных (изображения, большие текстовые ресурсы и т.д.) в исполняемом файле, это может привести к аномально большому размеру приложения. Стоит также проверить настройки оптимизации в XCode и убедиться в том, что вы не подключаете лишние библиотеки.
Оптимизация ресурсов
Для мобильных игр можно выделить группы ресурсов, по списку от более тяжеловесных к менее тяжеловесным:
Сжатие игровой графики
Размер графики можно уменьшить двумя способами:
Во-вторых, pvrtc – это lossy-формат, и даже очень lossy. Его нужно применять осторожно, не стоит использовать с графикой, для которой требуется высокое качество. Плохо подходит для графики с прозрачными областями, на границе будут артефакты. Основная выгода от формата pvrtc – экономия оперативной памяти. В отличие от форматов png и webp, его не нужно распаковывать в RGBA для отрисовки.
Не стоит забывать о том, что у сжатых форматов есть свои настройки качества, и их тоже можно настраивать.
Webp 100 | Webp 95 | Webp 85 |
Пример сжатия
Пример одного и того же изображения в формате webp, сжатого с настройкой качества 85, 95 и 100. Разница заметна, но даже самое сжатое изображение выглядит приемлемо. При этом разница в размере между webp85 и webp95 примерно 3 КБ.
webp нужно применять осторожно из-за проблем со скоростью распаковки. На медленных устройствах загрузка такого изображения может дать заметные лаги. Не стоит использовать его для упаковки большой графики, которая подгружается на лету.
В таблице приведены размеры атласа 2048×2048 при сжатии в разных форматах:
Формат | png | pvrtc | webp lossless | webp 95 quality | webp 85 quality |
Размер, КБ | 8057 | 2049 | 5593 | 2218 | 1579 |
Как видите, формат png не следует использовать вообще. Из форматов webp и pvrtc можно выбрать подходящий, с учетом требований к качеству графики и скорости ее загрузки
Анимации
Видео и звуки
Здесь нет каких-то общих рекомендаций, в целом все сводится к тонкой настройке форматов кодирования. Какого-то феноменального выигрыша тут получить нельзя, у нас получилось сжать видео на примерно 30% по сравнению с первоначальным вариантом и сэкономить порядка 10-20% на звуках. Все зависит от конкретного видео и аудио – нужно подбирать настройки экспериментально.
Шрифты
Обычно, шрифты не занимают много места в большинстве приложений. Но это пока вы не столкнетесь с локализациями для языков с иероглифическим письмом. Число иероглифов там может измеряться тысячами. Это увеличивает файлы шрифтов до нескольких мегабайт. Чтобы бороться с этим, мы используем автоматизированный скрипт, который составляет списки символов на основе файла с игровыми текстами – все неиспользуемые символы удаляются изо всех шрифтов.
Текстовые ресурсы и текстовые настроечные файлы
Это обычно самая малая по размеру группа ресурсов, и ее не нужно отдельно оптимизировать. Сам ipa-файл это архив, а текстовые данные хорошо архивируются. В нашем проекте тексты тем не менее занимают довольно много места. В основном из-за необходимости поддержки многих локализаций.
Если все возможности исчерпаны
Размер билда – это действительно проблема для нас. Насколько все серьезно, можно понять по некоторым дополнительным способам сжатия, которые мы изобрели.
Итого
Оптимизация размера билда – обширная тема, в этой статье описаны только общие принципы и способы сжатия ресурсов. Кроме этого обычно возникают и другие сложные вопросы:
Post scriptum
Пока статья готовилась к публикации Apple увеличила максимальный объем билда до 150 МБ. Казалось бы, стало лучше. Но в Google Play все еще остается лимит 100 МБ. В результате все получается еще сложнее. Если мы при подготовке билда для iOS будем ориентироваться только на ограничение магазина Apple в 150 МБ, то после этого при подготовке билда для Android точно не сможем уложиться в 100.
Нужно делать разные билды для iOS и Android, чтобы оптимально использовать возможности магазинов приложений. Сейчас мы все еще в процессе поиска лучшего решения. И очень ждем аналогичного шага по увеличению лимита от компании Google. После этого можно будет просто заменить в тексте статьи число 100 на 150, и в ней снова все будет правильно.
Уменьшаем размер приложения: проверенные способы
Введение
Одним из немаловажных аспектов разработки мобильных приложений является оптимизация размера. Мы все по личному опыту знаем, что чем меньше весит приложение, тем охотнее его скачивают, особенно если под рукой нет точки доступа Wi-Fi, а скорость и/или трафик мобильного интернета оставляют желать лучшего. К тому же, нельзя забывать и о том, что некоторые маркеты ставят ограничение на размер выпускаемого приложения. Например, в App Store продукты размером до 100 МБ доступны для скачивания по мобильному интернету, если же вес приложения превышает этот порог, то скачать его можно только через Wi-Fi. На Play Market же приложение, которое вытягивает больше 100 МБ, нельзя загрузить в принципе. В данной статье мы опишем, к каким методам и хитростям прибегали наши разработчики нативных приложений на iOS для того, чтобы уменьшить вес продукта, и добавим к этому несколько дельных советов, найденных в сети.
Основные способы уменьшения размера приложения
Графический контент
Сейчас дизайн играет ключевую роль в любом хорошем приложении. Если интерфейс минималистичен или продукт имеет небольшой набор функций, то этот этап можно пропустить. Если же проект отличается богатым функционалом или поддерживает некоторое количество цветовых схем, то здесь уже не обойтись без большого количества изображений со всеми вытекающими последствиями для веса. Кроме того, зачастую в проекты по умолчанию добавляются наборы изображений под различные форм-факторы мобильных устройств, как например @1x, @2x, @3x для iOS приложений. Ниже мы приведем методы, которые использовали в своих приложениях, чтобы разрешить проблему с обилием графического контента. Возможно, какие-то из них вы применяете и сами.
Один из простейших путей — использовать вместо трех масштабов только 3x изображение. Этот способ не назовешь оптимальным, так как на устройствах, ориентированных под 1x и 2x масштабы, такие изображения не всегда будут смотреться приемлемо. Однако за неимением лучшего этим приемом можно неплохо уменьшить размер проекта при огромном количестве графики.
Другой способ завязан на добавлениеи векторных изображений вместо растровых. На iOS мы экспортировали изображения в формат PDF. Зачастую такой файл действительно весит меньше, однако это работает не со всеми изображениями. Загвоздка здесь в том, что в векторная графика может некорректно отображать некоторые маски изображения, делая их абсолютно черными или искажая цвета.
Теперь рассмотрим пример с приложением, имеющим несколько цветовых схем (в простонародье «скин»). Чем больше цветовых схем в приложении, тем сильнее возрастает количество необходимых изображений. Если в изображении используется более одного цвета, то приходится хранить несколько вариантов на каждый скин. Однако, в случае когда изображение однотонное, его можно сделать шаблонным и уже в самом коде менять цвет оттенка (tint color). На iOS создать подобный шаблон можно двумя способами:
Рис.1. Выставление шаблонного режима изображения в XCode.
— где UIImageRenderingModeAlwaysTemplate и является шаблонным режимом изображения.
Замена анимационных изображений
Добавление анимации — обычное дело в приложениях. Она привлекает внимание пользователя к нужным объектам интерфейса и делает его менее статичным, обеспечивая более приятный опыт взаимодействия. Некоторые простые анимации, наподобие перемещения объекта из одной части экрана в другую или появления снизу нового окна, можно сделать программно. Другие же, более сложные, требуют отрисовки каждого кадра анимации. Когда мы впервые столкнулись с добавлением анимационного изображения в ходе разработки, то использовали для его реализации один из распространенных способов, а именно анимирование через массив изображений. Выглядело это так:
Сначала создается массив с названиями изображений, затем — массив который поочередно пополняется изображениями из названий. Потом у переменной типа UIImageView задаются массив изображений для анимации, продолжительность анимации и количество повторений. После чего запускается сама анимация. Однако если кадров много и при этом на каждый из них приходится по три масштаба, то для размера приложения это не сулит ничего хорошего. Придя к такому печальному итогу, мы задались поиском способа добавления gif-файла вместо массива картинок. К счастью, на просторах интернета нам попалась категория UIImage+animatedGIF, которая все это уже умеет. Данная категория добавляет классу UIImage два метода:
Первый метод загружает gif, сохраненный в виде данных, а второй метод берет его прямо из ссылки на ресурс, например, из бандла приложения. Сам gif-файл можно сделать из тех же кадров на каком-нибудь сервисе для создания таких файлов, где задается количество кадров в секунду, сжатие и разрешение. Правильно выставленные параметры дадут на выходе гифку приемлемого веса. Теперь остается только добавить ее в бандл и использовать один из методов указанных выше.
Однако gif-файл тоже занимает пространство, поэтому мы старались выполнить все анимации программно. В Audio Editor Tool на стартовом экране у нас проигрывается анимация появления логотипа AUDIO EDITOR побуквенно. Раньше данная анимация была реализована с помощью гифки, но из-за большого разрешения изображения весила она многовато. Поэтому мы решили реализовать ее с помощью CABasicAnimation.
Чтобы логотип у нас появлялся побуквенно, как на гифке, мы использовали градиентную маску, которая со временем смещала начальную позицию прозрачности. Для начала мы создали слой градиента, у которого прозрачный цвет идет практически с самого начала. Потом задали градиент как маску слоя текста логотипа, тем самым делая его прозрачным. Следующим шагом создали группу анимаций, в которую добавили две анимации. Первая из них смещала начальную позицию градиента, а вторая — конечную, тем самым делая его непрозрачным. Отметим один нюанс: важным шагом было указать в свойстве removeOnCompletion отрицательное значение, иначе анимация была бы удалена по завершению и слой вернулся бы к начальному значению.
Конвертирование аудио
В наших приложениях часто используются аудиофайлы формата WAV. В силу своей структуры этот формат занимает много места в проекте. По этой причине было решено сначала полностью заменить в бандле все файлы этого формата на более легковесный M4A, а потом, уже в самом приложении, конвертировать их в WAV. Почему бы просто не использовать M4A? Потому, что при цикличном воспроизведении файла этого формата происходит задержка при начале каждого цикла, будто там присутствует некая пустота. Завершающий шаг — сохранить уже конвертированный файл в директории приложения после первого запуска.
В данном методе берется файл из бандла по url и сохраняется в директорию по convertedUrl. Считываемый файл загружается в буфер и уже оттуда записывается в новый с требуемыми настройками записи. Таким образом, мы используем более стабильный и тяжеловесный WAV после первого запуска, но при этом размер приложения существенно уменьшается на этапе загрузки и установки.
Подгрузка файлов с сервера
Подгрузка файлов с сервера — это то что нужно для приложений со значительным объемом контента. Большое количество пресетов музыки, наборы изображений и многое другое, что сильно увеличивает размер приложения, можно загрузить и позднее. Конечно, загрузка каждого отдельного файла потребовала бы много времени и трафика, поэтому с сервера подгружаются архивы со всем необходимым, а уже в самом приложении они распаковываются и сохраняются в директории приложения. Для разархивирования используется библиотека SSZipArchive (репозиторий библиотеки вы найдете по ссылке). Эта библиотека способна как упаковывать файлы в архив, так и распаковывать архивы. Но нас интересует только один метод из основного класса библиотеки:
Данный метод распаковывает файл из пути path в путь destination, а пока он распаковывается в progressHandler можно совершать какие-либо действия (например, отображение прогресса распаковки), после чего в completionHandler показать, что распаковка благополучно завершилась, либо вывести ошибку при неудаче.
Заключение
41 МБ, а после загрузки всех пресетов — 281 МБ, то описанные методы смогли уменьшить размер приложения примерно в семь раз. Результат неплохой, хотя, возможно, существуют и более актуальные способы. Если вы знаете о таких, предлагаем поделиться в комментариях.
UPD: Спасибо Dim0v за дельные замечания о графическом контенте. Приводим их ниже:
«Во-первых, для устройств с iOS 9 и выше работает App slicing. iTunes Connect пересобирает загруженный архив в несколько вариантов для разных устройств. Таким образом, например, iPhone 6 при установке из апп стора будет тянуть только @2x ресурсы, а iPad mini 1 — только @1x. Поэтому если продукт поддерживает iOS 9+, то прислушивание к совету об оставлении только 3x ресурсов будет иметь строго обратный эффект — для айфонов+ ничего не изменится, а вот устройства с меньшим разрешением будут вынуждены тянуть себе 3x ресурсы, тогда как могли обойтись 2x или 1x.
Во-вторых — совет о переводе растровых изображений в вектор также не имеет смысла. Единственное, что вы таким образом можете сэкономить — это место на компьютере разработчиков. Xcode растеризирует векторные изображения при сборке билда, в чем несложно убедиться, к примеру, отмасштабировав «векторную» картинку на устройстве и увидев дико пикселизированное растровое изображение. Я не спорю, векторные ресурсы — это удобно: проще экспортировать дизайнерам, не нужно следить чтобы при изменении ресурса остались «синхронизированными» все его версии разных разрешений и т.п. Но перевод существующих растровых картинок в вектор именно с целью уменьшения размера билда не имеет никакого смысла».