包的构成
主要组成部分:
- so库,包含第三方依赖,flutter打包后的libapp.so等
- assets文件夹中的资源文件
- dex文件
- 字体文件
- resources.arsc文件
通过DevTool工具分析包体积
生成包体积分析文件
1 |
|
分析
优化措施
图片压缩,可以使用tinypng工具进行压缩
使用相关编译参数
- dwarf_stack_trace表示在生成的动态库文件中,不使用堆栈跟踪符号
- obfuscate表示混淆,通过减少变量名/方法名的方式减小代码体积
1 | //编译release包并打印size |
- iOS中,删除dSYM符号表信息文件
1 | RunCommand xcrun dsymutil -o "${build_dir}/aot/App.dSYM" "${app_framework}/App" |
- 排除没有使用的so库