美文网首页
面试题:APP瘦身优化

面试题:APP瘦身优化

作者: 常在士心 | 来源:发表于2021-09-14 09:33 被阅读0次

    <article class="_2rhmJa">

    思路:

    1.剔除项目中未使用的图标。

    利用LSUnusedResources工具,下载好LSUnusedResources 之后在Mac上运行项目。出现查找的图片可以删除。下载地址:https://github.com/tinymind/LSUnusedResources

    删除的时候最好查证一下项目中有没有使用,以防万一。

    2.无损压缩图片。

    利用imageOptim工具,Mac上前往appstore直接搜索下载,,每天免费用20次,,这个地方是最容易清理出很大的内存。

    3.处理废弃代码,这一点只有手动进行,每个页面移除废弃代码,注意,如果之前注释是为了以后使用的业务逻辑,就不要删。

    4.由于本身项目涉及到国际化,把没用的翻译key删除。。删除要注意,中文英文或者其他语言对应的key都要删除,,这一点本身占不了多少包的大小,,但是也是瘦身的一部分。

    5.移除废打印,,打印NSLog最好在debug模式下打印,这一点在宏文件里面判断好,,由于本身项目是多人开发,会出现页面单独出现NSLog的出现,,因此需要改为debug模式下打印,或者直接删除。

    6.使用fui扫描工程中不用的类或者页面,链接地址 https://my.oschina.net/u/4348226/blog/3508788。这一点识别出来的类可能不在你项目目录,也有可能是整个项目其他地方均未使用,都可以删除,注意分类也能识别出来不要删除。

    7.iOS可执行文件瘦身方法,链接地址:http://blog.cnbang.net/tech/2544/

    8.移除项目里面未使用的三方库pods,由于本项目是一个长期迭代的项目,,可能出现早期版本使用的三方现在已经没有使用,所以需要剔除。

    9.如果项目是多人开发,,受多人开发习惯的影响,最好整理一下公共类/工具类/基础类/分类/宏文件,,将各个页面单独写的较多地方使用的模块,进行独立封装后引用,这点如果是中大型项目其实可以清理不少大小,可能你一个模块就是几十个页面在用,这也是编程思想的体现。

    10.项目警告处理,这一点也很关键,,间接可以改变包大小,有些警告,比如你声明的私有变量在整个页面都未使用,打包的时候实际上是打包成了可执行文件,增加了包大小,这里我说的只是一种情况,还可能出现的警告有:类型转换警告.数组类型警告.未使用数据警告.未使用代理方法的警告.在if-else中缺少属性值的警告.类型指向错误.Block方法无返回值时缺少void关键字的警告.通知未调用方法的警告.获取键盘类型使用ios7语法的警告.字典不可变警告,等号两边类型不一致警告,UIAlertView在IOS8之后弃用的警告,给模型赋值为nil的警告等。有些警告不会增加包大小,但是也是项目优化的一部分,正确来讲,项目中能处理的警告最好都处理掉。

    </article>

    5人点赞

    日记本

    作者:小白奔哥
    链接:https://www.jianshu.com/p/3e294c82356f
    来源:简书

    相关文章

      网友评论

          本文标题:面试题:APP瘦身优化

          本文链接:https://www.haomeiwen.com/subject/yudkgltx.html