TGViewer
Flutter. Много Flutter. Много @flutter_amiga · 2.96K subscribers
Post #603 1.17K
Hola, Amigos! Среднестатистический пользователь любит, когда скачивание приложения занимает мало времени. Для этого нам нужно по максимуму уменьшать размер установочного файла. В основном это необходимо для Android, но может быть полезно и под другие платформы. И главное, чтобы это быстро и правильно работало.

В первую очередь много места занимают ассеты: картинки, шрифты, иконки. Держите несколько полезных лайфхаков от нас:

1️⃣ Храните растровые изображения в формате WebP. Это современный формат, который создан в недрах Google и он намного эффективнее сжимает файлы, чем более распространенные JPEG и PNG, а также умеет в прозрачность.

2️⃣ Следите за максимальным размером изображений. Если вам нужно отобразить картинку в формате 100 на 100, а вы добавляете в ассеты картинку размером 2000 на 2000, то это излишне даже для очень больших экранов. Поэтому, максимальный размер мы высчитываем так - размер виджета, умноженный на 4.

3️⃣ Храните иконки в шрифте. Для хранения этого типа ассетов существует три варианта:
• Хранить иконки в формате SVG. Да, это векторный формат, но он не до конца подходит к Flutter. Мало того, что для него необходима отдельная библиотека, так еще ее использование съедает ресурсы.
• Перевод иконок в специальный векторный формат. Это лучше, но не лишает всех минусов, так как такие иконки все равно отдельные и тоже влияют на отрисовку, хоть и меньше.
• Специализированный шрифт. Это нативный вариант, так как вы получаете IconData, а при сборке будут откидываться неиспользуемые иконки. Но есть минусы - не всегда получается сложные иконки перегнать в этот формат и он подходит только для монохромных иконок.

Поэтому мы на своих проектах стараемся использовать второй и третий вариант, хотя большее предпочтение отдаем как раз шрифту.

В следующей части мы расскажем, как подогнать растровые изображения под разрешение экрана устройства. А пока делитесь в комментариях, какие еще лайфхаки используете для ассетов?
  • 👍 8
  • ❤ 3
More from @flutter_amiga
  1. Sep 9, 2026AI BOOST’26: выручка падает — что делают крупные digital-агентства и при чем здесь AI 22–2…
  2. Aug 18, 2026Hola, Amigos! На связи Павел Гершевич, Mobile Team Lead в Amiga. Сегодня посмотрим на чек-…
  3. Aug 13, 2026Hola, Amigos! Сегодня вышли Flutter 3.47 и Dart 3.13. Давайте вместе разберемся, что в них…
  4. Jul 31, 2026Дайджест июля Hola, Amigos! Собрали в одну подборку все полезные посты июля, которые вы мо…
  5. Jul 28, 2026Hola, Amigos! Сегодня посмотрим на один пакет, который может быть полезен в разработке - p…
  6. Jul 24, 2026Hola, Amigos! Сегодня мы вводим новую рубрику - обзоры правил для статического анализатора…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →