如何在 android 中减小 flutter 应用程序的大小
How to decrease flutter app size in android
我使用 flutter 制作我的应用程序,我的应用程序大小超过 100 mb,应用程序有 15 个屏幕。
android 大小超过 100 MB,iOS 应用程序大小为 40 MB 我必须缩小它
我想要适当的解决方案
我尝试压缩我的图像文件,但它只减少了 8 mb
我想要压缩 flutter 应用大小的合适解决方案。
您使用了多少个第三方包?
您是使用拖放创建应用程序还是手动编写所有代码?
在重复但本质相同的对象中,你是否正确使用了const
?喜欢 const EdgeInsets.all(8.0)
.
你有很多可以转换为容器渐变的渐变图像吗?
- 使用 webp 图片代替 PNG 或 JPEG
- 添加亲卫文件
- 已启用缩小 - 正确
- Shrink- Resource -true
尝试运行:
flutter clean
然后:
flutter build apk --split-per-abi
您甚至可以通过以下方式进一步减小代码的大小:
flutter build apk --split-debug-info=/<project-name>/<directory>
如果您愿意冒险,您可以obfuscate您的代码:
flutter build apk --obfuscate --split-debug-info=/<project-name>/<directory>
哪里
/<'project-name'>/<'directory'>
是Flutter可以输出你的应用程序调试文件的目录。
检查以下步骤可能会帮助您减小应用程序大小(仅 Android),我已将我的 48mb 构建减少到 14mb
第一步: android/gradle.properties
android.enableR8=true
第 2 步: android/app/build.gradle
内部 -> buildTypes -> 发布
minifyEnabled true
shrinkResources true
useProguard true
第 3 步:
运行
flutter build apk --target-platform=android-arm
或
flutter build apk --split-per-abi
其他一些优化技巧,
1.图片资产
将图像上传到 AWS 等永久存储路径或您的网站服务器中,并在您的代码中使用该图像的 link。
2。图标
建议使用 Material 图标或库比蒂诺图标 class。您可以将 --tree-shake-icons 选项添加到 flutter build 命令,以从捆绑包中删除所有未使用的图标。这可能会节省您的应用程序的大小。 (使用 svg 格式图标)
3。字体
如果我们使用更多来自类似于图像的本地资产的字体,这些字体也会增加应用程序的大小。最好的解决方案是使用 google_fonts 插件。本插件使用时会动态下载字体
4.动态应用交付
如果我们要上传到 Playstore,我们可以构建一个应用程序包,或者我们可以按 abi 拆分 apk,将 apk 拆分为 x64 和 x86 位代码。通过使用 appbundle Google Play 的新应用服务模型,称为 Dynamic Delivery,使用您的 app bundle 为每个用户的设备配置生成和提供优化的 APK,因此他们只下载他们需要的代码和资源 运行你的应用程序。
Refer below links for more understanding,
我使用 flutter 制作我的应用程序,我的应用程序大小超过 100 mb,应用程序有 15 个屏幕。
android 大小超过 100 MB,iOS 应用程序大小为 40 MB 我必须缩小它 我想要适当的解决方案
我尝试压缩我的图像文件,但它只减少了 8 mb
我想要压缩 flutter 应用大小的合适解决方案。
您使用了多少个第三方包?
您是使用拖放创建应用程序还是手动编写所有代码?
在重复但本质相同的对象中,你是否正确使用了
const
?喜欢const EdgeInsets.all(8.0)
.你有很多可以转换为容器渐变的渐变图像吗?
- 使用 webp 图片代替 PNG 或 JPEG
- 添加亲卫文件
- 已启用缩小 - 正确
- Shrink- Resource -true
尝试运行:
flutter clean
然后:
flutter build apk --split-per-abi
您甚至可以通过以下方式进一步减小代码的大小:
flutter build apk --split-debug-info=/<project-name>/<directory>
如果您愿意冒险,您可以obfuscate您的代码:
flutter build apk --obfuscate --split-debug-info=/<project-name>/<directory>
哪里
/<'project-name'>/<'directory'>
是Flutter可以输出你的应用程序调试文件的目录。
检查以下步骤可能会帮助您减小应用程序大小(仅 Android),我已将我的 48mb 构建减少到 14mb
第一步: android/gradle.properties
android.enableR8=true
第 2 步: android/app/build.gradle
内部 -> buildTypes -> 发布
minifyEnabled true
shrinkResources true
useProguard true
第 3 步:
运行
flutter build apk --target-platform=android-arm
或
flutter build apk --split-per-abi
其他一些优化技巧,
1.图片资产
将图像上传到 AWS 等永久存储路径或您的网站服务器中,并在您的代码中使用该图像的 link。
2。图标
建议使用 Material 图标或库比蒂诺图标 class。您可以将 --tree-shake-icons 选项添加到 flutter build 命令,以从捆绑包中删除所有未使用的图标。这可能会节省您的应用程序的大小。 (使用 svg 格式图标)
3。字体
如果我们使用更多来自类似于图像的本地资产的字体,这些字体也会增加应用程序的大小。最好的解决方案是使用 google_fonts 插件。本插件使用时会动态下载字体
4.动态应用交付
如果我们要上传到 Playstore,我们可以构建一个应用程序包,或者我们可以按 abi 拆分 apk,将 apk 拆分为 x64 和 x86 位代码。通过使用 appbundle Google Play 的新应用服务模型,称为 Dynamic Delivery,使用您的 app bundle 为每个用户的设备配置生成和提供优化的 APK,因此他们只下载他们需要的代码和资源 运行你的应用程序。
Refer below links for more understanding,