• iOS ipa 包优化


    项目里有一个h5页面需要原生化,这个页面有大量的本地图片,而这些图又用了2x、3x两套图,其中有些图片大到一张能达到好几M,最终的结果是ipa的包体积巨大无比。于是试了好些方法,终于把ipa的体积减小了很多。接下来总结一些能让app瘦身的方法。

    1、 从图片资源进行瘦身。

    (1) 对图片本身进行压缩。设计师在设计大的图片时对图片进行压缩一下,然后客户端使用压缩后的图片,这样能大大减少ipa包的体积。我项目中用到的那些很大的图片设计师没有对其进行压缩,所以让设计师帮把所有的大图片都压缩了一遍,这样之前以M为单位的图片能压缩到以k为单位的图片。大大减小了ipa的体积。

    2) 客户端在工程中使用Assets.xcassets的方式管理图片,尽量避免使用文件夹的方式进行管理。因为采用Assets.xcassets的方式,编译时,Images.xcassets中的所有文件会被打包为Assets.car的文件,这样也能一定程度上减小app体积

    3) 清除无用的图片。在版本更新的时候,有些之前用到的图片在新版本中未必会用得到,所以那些无用的图片要记得及时清除。

    4) 尽量使用矢量图。 有人说这个方法对减小ipa体积没啥大作用,不过不管有没有用,我觉得这都是一个很值得提倡的方法。因为矢量图可以自己定义大小以及颜色,所以对于一张图片,只需要一套图即可。比如我们项目中的图标,能用iconfont解决的我们都不会去才用切图的方式。一个iconfont.ttf的包,里面装了几十张的图片也不过是十几k的大小。

    2、 整理项目中用到的第三方库。

    (1) 项目中没有用到的第三方库也记得要及时删除。(2) 引入第三方库要慎重,学会评估引入这个库是否值得。有时候为了一个功能引入了一个很大的第三库,造成ipa体积的显著增加,但是可能我们只用到了其中一小部分功能,那这个时候可以考虑自己实现这个功能,而不是引入该库。

    (3) 删除三方库中无用的图片资源。有些第三方库会带有图片资源,对于没用到的图片可以直接删除。

    3、 代码层面的优化

    (1) 未使用的代码及时清理(2) 整理重复的代码

    4、 编译选项的设置(均在Build Settings里面设置)

    对于这一块,不是特别的懂,所以根据网上提供的一些方法,我试了一下,感觉以下方法确实能起到一定的作用,大家可以参考一下。(1) 将Deployment Postprocessing和Strip Linked Product选项 设置为YES。(2) 将Genetate Debug Symbols 默认为YES,设置为NO。(3) Symbols hidden by default设置为YES(4) Strip debug symbols during copy 设置为YES

     

    #付出不亚于任何人的努力#将来的我、一定会感谢现在努力拼搏的自己!
  • 相关阅读:
    os.path.split()、os.path.realpath()和os.path.join()
    我终于也有了自己的博客网站
    (Bug修复)C#爬虫,让你不再觉得神秘
    DevExpress弹框、右键菜单、Grid的使用
    Linux 宝塔部署 ASP.NET Core 应用
    C#高级特性(反射)
    WPF 的内部世界(Binding)
    WPF 的内部世界(控件与布局)
    Layui事件监听(表单和数据表格)
    (待更新)tensorboard [Fatal error in launcher: Unable to create process using]
  • 原文地址:https://www.cnblogs.com/wlffly/p/7016563.html
Copyright © 2020-2023  润新知