Приложения Flutter слишком большие по размеру

У меня есть хороший опыт в разработке приложений для Android с использованием Java. Недавно я узнал о трепетании. Итак, я попытался создать простое приложение для Android с флаттером на основе официального руководства. Но на удивление размер отладочного приложения составляет 25 МБ, а выпуск apk стоит более 7 МБ. Это действительно больше, если сравнивать с нативным приложением для Android.

Есть ли способ оптимизировать его?

Ответ 1

Флаттер команда признает это здесь.

Там объяснение этого здесь, со ссылкой на то же самое -

В августе 2018 года мы измерили размер минимального приложения Flutter (без компонентов материалов, только один виджет Center, созданный с помощью apk для flutter build), связанного и сжатого в виде релиза APK, примерно до 4,7 МБ.

Для этого простого приложения ядро ядра имеет размер приблизительно 3,2 МБ (сжатый), код приложения Framework + - приблизительно 840 КБ (сжатый), файл LICENSE - 55 КБ (сжатый), необходимый код Java (classes.dex) - 57 КБ (сжатый) и есть приблизительно 533 КБ (сжатых) данных ICU.

Конечно, YMMV, и мы рекомендуем вам измерить ваше собственное приложение, запустив flutter build apk и посмотрев build/app/output/apk/release/app-release.apk.

Кроме того, относительные различия в размере apk, вероятно, будут меньше с большими приложениями. Размер накладных расходов флаттера фиксирован.

Ответ 2

Да, конечно, размер apk или ipa, построенный с флаттерами, будет минимальным размером ~ 7 мб для приложения Hello World. Это связано с тем, что flutter отправляет основной движок, фреймворк, данные ICU, файл LICENSE и т.д. С его результатом сборки, которые являются обязательными для запуска приложения флаттера.

Здесь вы можете узнать FAQ , чтобы узнать больше о том, сколько занимает размер при сборке.

Надеюсь, что это поможет!

Ответ 3

все это кросс-платформенное приложение больше от начала
я работал с реакцией-родной, а приложение hello-world - около 6 МБ
все, что вы можете сделать, это сделать два релиза apk, один для командного процессора и один для процессора x86 таким образом, вы можете уменьшить размер около 4 МБ, но никогда не будете маленькими, как андроид

согласно google

Одним из способов уменьшить размер вашего APK является создание нескольких APK, содержащих файлы для конкретных плотностей экрана или ABI.


здесь для получения дополнительной информации https://developer.android.com/studio/build/configure-apk-splits.html

UPDATE: если он не будет полностью поддерживаться сейчас, он будет в будущем уверенным, на каждом этапе развития флаттера этот метод будет работать, но не слишком много в бета-версии, но этот метод будет работать лучше, выпуская больше версия флаттера

Ответ 4

Это нормально для флаттера из-за дополнительных необходимых файлов, в моем устройстве android go это заняло 60 МБ только для приложения по умолчанию в новом проекте флаттера, в этом смысле я думаю, что это требует еще больше на устройствах Android Go.

Ответ 5

Я также сталкивался с этим условием apk при отладке, в то время как в выпусках около 7-8 мб. Это, однако, мы могли видеть в гораздо более крупных приложениях, где, собственно говоря, нам нужно импортировать много библиотек, в то время как с Flutter работа оптимизирована. Так что, если мы предположим, что приложение, которое изначально должно весить около 30 Мб с Flutter, оно должно быть похожим. Что может вас напугать, так это в самых простых приложениях. Однако важно оптимизировать изображения