Экспорт графических ассетов для Android: все плотности (mdpi–xxxhdpi)
Мы предоставляем услугу по подготовке графических ассетов для Android-приложений с учётом всех density-бакетов. Наш опыт — более 5 лет и 20+ проектов — гарантирует, что иконки и иллюстрации будут выглядеть чётко на любом устройстве: от старых бюджетников до новейших флагманов. Размытые края, неправильные пропорции и ошибки в именах файлов — частые проблемы, которые мы устраняем на этапе экспорта.
Почему важна подготовка ассетов для каждой плотности?
Android экраны имеют разное количество пикселей на дюйм (dpi). Без подготовки под каждую плотность система масштабирует неподходящий ресурс, что приводит к размытию или пикселизации. Мы используем правильные коэффициенты: mdpi (1×), hdpi (1.5×), xhdpi (2×), xxhdpi (3×), xxxhdpi (4×). Например, иконка 24dp на xxhdpi должна быть 72px, а на mdpi — 24px. Если положить только один размер, на других плотностях она будет искажена.
Таблица плотностей и типичных устройств
| Density | Коэффициент | Типичные устройства |
|---|---|---|
| mdpi | 1× (160 dpi) | Старые бюджетные устройства (устарели) |
| hdpi | 1.5× (240 dpi) | Бюджетный сегмент |
| xhdpi | 2× (320 dpi) | Средний класс |
| xxhdpi | 3× (480 dpi) | Большинство флагманов |
| xxxhdpi | 4× (640 dpi) | Pixel 8 Pro, Galaxy S24 Ultra |
Как избежать ошибок при экспорте?
Нечёткие границы на xhdpi/xxhdpi. Дизайнер рисует иконку 24×24px и экспортирует напрямую без учёта плотностей. На xxhdpi система масштабирует 24px до 72px билинейной интерполяцией — размыто. Решение: рисовать в размере для наибольшей плотности.
Неправильная папка mipmap vs drawable. Иконки лаунчера — в mipmap-*. Все остальные ассеты — в drawable-*. Система обрабатывает mipmap иначе при масштабировании. Положить App Icon в drawable — иконка будет правильно отображаться, но потеряет оптимизацию для launcher.
Имена файлов. Имена ресурсов в Android — только строчные буквы, цифры и подчёркивание. ic_Arrow_Right.png вызовет ошибку компиляции. ic_arrow_right.png — правильно.
Лишние папки не нужны: ldpi (0.75×) уже не используется, а mdpi можно опустить для проектов, не поддерживающих устройства до 2015 года. Мы рекомендуем оставлять только те плотности, которые реально нужны.
Векторные vs растровые ассеты
Простые иконки, пиктограммы, UI-элементы без фотографических деталей — всегда VectorDrawable (SVG-подобный XML формат Android). Один файл заменяет все плотности, нет размытия. Векторные ассеты занимают в 10 раз меньше места, чем набор растровых PNG. Ограничение: не поддерживает сложные эффекты (blur, некоторые gradient types), анимированные иллюстрации требуют AnimatedVectorDrawable или Lottie.
Для PNG-ассетов (фотографии, сложные иллюстрации, рекламные баннеры) готовим для каждой density отдельно. Правило: рисуем в xxxhdpi (4×), масштабируем вниз. Масштабирование вверх всегда даёт потерю качества.
Сравнение размеров файлов для разных плотностей (пример для иконки 24dp)
| Тип | mdpi | hdpi | xhdpi | xxhdpi | xxxhdpi | Всего |
|---|---|---|---|---|---|---|
| Растровый PNG | 0.5 KB | 1 KB | 2 KB | 4 KB | 8 KB | 15.5 KB |
| VectorDrawable | 0.2 KB | (один файл) | 0.2 KB |
Процесс подготовки
- Получаем от дизайнера SVG или PDF (векторный источник)
- Простые иконки → конвертируем в
VectorDrawableчерез Android Studio (File → New → Vector Asset → Local SVG) - Растровые ассеты → экспортируем из Figma с множителями 1×, 1.5×, 2×, 3×, 4× в соответствующие папки
- Проверяем имена на соответствие naming convention
- Оптимизируем PNG через
pngquantилиoptipngдля уменьшения размера APK
Что входит в работу
- Аудит текущих ассетов (если есть)
- Конвертация иконок в VectorDrawable
- Экспорт растровых ассетов в 5 плотностей
- Правильная структура папок mipmap и drawable
- Оптимизация размера файлов
- Готовый набор для вставки в Android Studio / передачи разработчику
Сроки
4 часа — 2 дня в зависимости от количества ассетов и необходимости конвертации в векторный формат. Стоимость рассчитывается индивидуально.
Свяжитесь с нами для оценки вашего проекта. Мы подготовим ассеты под ключ с гарантией качества и точного соответствия требованиям Android.







