DevTools для Flutter и Dart дает одинаковый результат даже после масштабирования изображений
Я играю с флаттером и создаю простую викторину. Проект почти готов к публикации в игровом магазине, и нужно кое-что исправить. но я попробовал новый флаттер
--analyze-size
и обнаружил, что могу еще больше уменьшить размер файла, уменьшив изображение. Я масштабировал изображения (значительно уменьшил размеры) и заменил исходные файлы. затем я запустил
flutter clean
а также
flutter pub get
и побежал
flutter build apk --analyze-size --target-platform=android-arm64
просто чтобы еще раз проверить. Хотя я уменьшил размеры файлов изображений, инструмент анализа показывает те же размеры, что и раньше. Я также попытался сделать недействительным параметр кеширования / перезапуска в студии Android. но все равно результат тот же. Когда я выбрал два json файла для сравнения в опции Diff в DevTools, он говорит, что это идентичные файлы. Может кто-нибудь указать мне, как это исправить, пожалуйста?
кстати, я нахожусь на бета-версии канала flutter, 2.5.0 на Windows 10
7 ответов
Как упоминалось в этом ответе , перед запуском
flutter clean
, проверьте в диспетчере задач Windows, работает ли какой-либо процесс Flutter в фоновом режиме, это правда, остановите его.
Однако в настоящее время вы можете обновить версию Flutter до 2.5.1 (стабильная) . Как? Выполнение этой команды:
flutter upgrade
.
Кроме того, вы можете переключаться между 4 каналами выпуска (стабильный, бета, для разработчиков и мастер) с помощью
flutter channel <channel_name>
Убедитесь, что изображения, размер которых вы уменьшили, являются частью ваших флаттер-ресурсов . Если они не указаны в
pubspec.yml
то они не являются частью ваших файлов apk. Если они не являются частью вашего файла apk, то независимо от размера, который вы уменьшаете, это не повлияет на размер apk. Вы также не увидите различий в файле результатов анализа..json
или.Дважды проверьте, действительно ли размер ваших изображений изменен в выходном файле apk. Когда ты бежишь
--analyze-size
, он также создал apk. В Android Studio вы можете открыть apk и проверить размер изображений, упакованных в apk.
Иногда размер APK остается прежним, но загружаемый размер изменяется. Я также не уверен, что здесь происходит, но до тех пор, пока фактический размер изображений в apk уменьшается, а размер загрузки конечного пользователя уменьшается, первоначальная цель уже достигнута, поэтому я просто продолжаю.
Переименуйте изображения (добавьте 1 или что-то тривиальное), очистите, перестройте, а затем переименуйте обратно в исходные имена, очистите, перестройте.
Flutter может кэшировать имена файлов.
Что ж, вы можете попробовать следующее, чтобы этого не произошло,
Чтобы:
- Запустить
- Вручную удалите
/build
папка, которая по сути совпадает сflutter clean
- Как уже сказал @Guillem, может быть сбой диспетчера задач
restarting machine
должен сделать свое дело. -
flutter pub cache repair
в основном запускает кеш, связанный со спецификациями pub, но в вашем случае может помочь запустить обновление кеша, попробуйте. -
Backup All image assets
где-нибудь и удалите их из проекта только для того, чтобы построить его без него, а затем в случае ошибки включите изображения в проект и повторите шаги, указанные выше.
Сообщите мне, сработало ли что-нибудь из этого для вас.
Чтобы уменьшить размер приложения FLutter, выполните следующие действия:
- Использовать пакет google-fonts
- Использовать
flutter build apk --split-per-abi
строить apks - удалить ненужные значки из пакета. Для этого добавьте
--no-tree-shake-icons
флаг к команде сборки apk - Используйте значки формата .svg
- Использовать
shrinkResources true
в /android/app/build.gradle внутриrelease
блокировать - Удалите неиспользуемые активы / пакеты
- Используйте кешированные изображения вместо использования из ресурсов
- Используйте progaurd (здесь ).
Попробуйте это, чтобы уменьшить размер изображения: https://www.img2go.com/compress-image
или похожие сайты