视频聊天源码开发,如何进行代码优化

前言 公司的视频聊天源码,有不少类14年的代码也有,可谓见证了该项目的持续辉煌,结果一搜,有些类没有被调用,看来当年的开发者不忍心删掉,就持续到现在了。我相信不少项目都会出现这种情况,要么先注释掉,要么先放着,又担心删掉,到时候需求回来,去git上还要慢慢找回来。但有一些隔得太长久了,就是时候删掉了。 无用到的照片 LSUnusedResources 一个 Mac 应用程序,用于在 Xcode 项目中查找未使用的图像和资源。 在github有3.7k个星。 用法

打开LSUnusedResources,在 Project Path 填入我们要搜索的项目,选择Search。

我们可以看到搜索结果,居然有314张没有使用,大小占3400KB左右,是真实的吗?我们优化一下。

其实这里就选择了 Ignore similar name,匹配使用资源的正则表达式,比如@“image_%d”会忽略掉后缀的图片。 别以为这样就保证全部都是无用的图片,但我们基本就可以围绕着这些去删掉图片,优化2M大小还是可以的。 FengNiao FengNiao 是一个简单的命令行实用程序,用于从您的 Xcode 项目中删除未使用的图像资源文件。 在github上有2.8k个星 这里怎么用呢,可以打开上面链接,里面有说到怎么用。这里我贴一位大佬写的,可以作为参考。 无用到的代码 LinkMap 这个工具是专为用来分析项目的LinkMap文件,得出每个类或者库所占用的空间大小(代码段+数据段),方便开发者快速定位需要优化的类或静态库。 在GitHub上有1.6k的星 我们下载后,运行就可以看到下面的界面了。

步骤操作

  1. 开启 write link Map File。

  1. 打开~/Library/Developer/Xcode/DerivedData/XXX-xxxxxxxxxxxxx/Build/Intermediates/XXX.build/Debug-iphoneos/XXX.build/XXX-LinkMap-normal-arm64.txt。

可以看到LinkMap文件有3部分: Object Files,里面包含代码工程的所有文件。

Sections,描述了代码段在生成的 Mach-O 里的偏移位置和大小。

Symbols,会列出每个方法、类、block,以及它们的大小。

3.使用LinkMap工具打开刚刚的txt文件,点击输出。

全部的库大小和库名称我们都可以看到。哪些库占用大的,我们就可以看下视频聊天源码是否存在优化的空间。 4.结合mach-o使用 我们打开XXX.app包,显示包内容,里面有很多资源文件,我们也可以在那里看看有没有优化空间,使用MachOView打开app可执行文件,就可以看到很多编译信息。 具体使用可以查看这篇文章:Mach-O 探究。 重要的有3个: __objc_classrefs记录了哪些class被引用了,这里记录了所有被实例化的class,有些类虽然在包里,但是我们并未使用,因此这里不会有。 __objc_selrefs记录哪些SEL对应的字符串被引用了,有系统方法,也有自定义方法。 __objc_superrefs记录了调用super方法的类。

appCode 打开appCode,选择code -> inspect Code,进行静态分析。

等编译完成后,我们就可以看到以下信息

我们要看的是无用的代码,Unused Code。

  • Unused class:无用的类;

  • Unused global declaration:无用的全局声明;

  • Unused import statement:无用类的引入声明;

  • Unused instance variable:无用的实例变量;

  • Unused local variable:无用的局部变量;

  • Unused macro:无用的宏;

  • Unused method:无用的方法;

  • Unused parameter:无用的参数;

  • Unused property:无用的属性;

  • Unused value:无用的值。

这个就直接明牌了,哪些没有用到的都显示出来了。当然我们还是需要在工程内小心核对,以免误删。 不说了,要赶时间去优化视频聊天源码了。

声明:本文由云豹科技转发自可爱亲宝宝博客,如有侵权请联系作者删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值