一、分析包大小
1、全平台包(胖包)大小。-包含所有平台、语言、分辨率资源 使用 flutter build apk 或 flutter build ios ,构建出发布包,改包可以大概评估出用户要下载的包大小。通常如果使用改包发布的话,下载大小和包大小基本相同。ios差别会大点。 安卓可以使用Android Size Analyzer分析包大小,及各个部分大小和比例,如lib、assets、res、dex等
2、估算包大小— android Google Play可以使用构建App Bundle发布应用,会将aab包处理成不同abi、语言、分辨率等包,这样根据用户设备信息下载不同的资源包。 (a)可以将aab上传到Google Play Console后,在应用大小部分可以看到用户最终下载包的大小。 (b)bundletool分析aab大小 bundletool介绍
二 包大小优化
1、删除无用资源
(a)删除无用的图片资源。 Flutter项目目前没找到合适的工具,可采用改文档中的方法处理。 Flutter中无用图片的检测和清理
(b)无用代码及语言资源的清除 可以使用dart_code_metrics plugin进行分析检查,然后手动删除。
(c)检查删除字体、三方sdk等
(d)对于安卓胖包,可以减少abi,或者动态下载abi的方式见效包体积
2、尽量减少从库中引入的资源
3、对图片资源进行压缩
tinypng.com工具
4、开发时,尽量选择大小合适的三方资源(package\plugin\sdk…)
5、部分功能采用动态下发的方式加载使用。
Google Play Core
6、开启压缩混淆
|