• flutter 包体积优化


    flutter打出来的包体积特别大,通过以下方式可以达到包体积优化的效果

    1.压缩资源文件
    压缩图片资源能够很明显的改变包体积,可以通过一下几种方式压缩图片资源
    1>imageoptim https://imageoptim.com/howto.html 打开后直接安装软件,能够无损压缩文件夹中的图片 免费
    2>docsmall https://docsmall.com/ 直接在线压缩,效果很好,还可以压缩gif图片,但是一次性只能压缩30个文件 免费

    2.优化字体文件(一个字体包一般都有十几M),尽量使用flutter默认字体,
    3.优化打包支持设备配置、避免一些很古老的设备仍然被支持,从而影响包体积
    打包iOS时可以配置Architectures只支持arm64,移除armv7,armv7s

    arm64 : 必选项,支持iphone5s及以上;最低支持版本:iOS5.1.1
    armv7s:支持iPhone5及以上;
    armv7:支持iPhone4及以上;
    以上指令集,选择越多,打出来的包就越大;
    若抛弃iPhone5s之前的机型,只需要选择arm64即可,这个包是最小的。
    若要支持所有iPhone机型,选择armv7、arm64即可。
    若想app在各个机器上运行效率最高:
    1.Build Active Architecture Only改为NO;
    2.选择armv7 armv7s arm64指令集;
    这样会为各个指令集编译相应的代码,但包的体积是最大的。

    打包安卓时 配置build.gradle文件中中defaultConfig下添加ndk支持的设备列表

    这里有一份Android 处理器架构的汇总建议:
    mips (已弃用)
    mips64 (已弃用)
    armeabi (已弃用)
    armeabi-v7a (需要支持— 现在最流行的处理器架构)
    arm64-v8a (需要支持 — armeabi-v7a的新版本)
    x86 (可选, 设备非常有限,可以用于模拟器debugging)
    x86_64 (可选, 设备非常有限,可以用于模拟器debugging)

    修改了架构支持armeabi-v7a如果在flutter run是出现so库找不到的情况,可以在build.gradle中添加如下:

    project.setProperty('target-platform', 'android-arm')
    

    我们项目中设置ndk只支持armeabi-v7a,基本上支持市面上主流的机型了,通过配置处理器架构打出来的包提交竟然优化了20多M的体积
    iOS只支持arm64处理器架构,打出来的包体积也大幅度减少(十几M)

  • 相关阅读:
    HDOJ 1015 Safecracker
    POJ3187 虽然超时了,但是还得纪念一下
    HDOJ 1248
    HDOJ 1161
    动态规划——砝码称重
    P01P02P03各种背包!!
    对基类与派生类对象和指针赋值的小结
    程序员技术练级攻略
    CodeForces 愚人节题目
    java入门
  • 原文地址:https://www.cnblogs.com/qqcc1388/p/14574391.html
Copyright © 2020-2023  润新知