swift - iOS有要像前端一样压缩代码的需要么?

 非策不劃小子白 发布于 2022-10-29 14:35

iOS有像前端一样压缩代码的需要么?

感觉iOS最终是以app形式安装的,以前也比较少听说过iOS代码压缩。所以问一下需要像前端的css、js一样压缩再发布更好么?

比如,在发布的时候还需要对以下代码压缩么?

let (statusCode, statusMessage) = http404Error

print("The status code is \(statusCode)")

// prints "The status code is 404"

print("The status message is \(statusMessage)")

// prints "The status message is Not Found"
4 个回答
  • 编译完了就没源代码了,都是机器码

    2022-10-31 01:09 回答
  • 没有必要吧,因为js/css压缩是为减少网络读取时间,并不是因为它真的很大。虽然不清楚ios打包的时候代码这之间的空格和换行符号是否会增加多少大小,但我认为是没有必要的。

    2022-10-31 01:11 回答
  • 楼上说的对,不需要压缩代码。

    你问题中的控制台输出语句在release版本中不会输出,所以不用特意去掉。

    编译型语言不同于CSS JS等脚本语言,是要编译成二进制文件执行的,编译出来的执行文件往往比源代码要大很多。这是由于执行文件中同时编译了连接库。所以精简代码是没有必要的。

    2022-10-31 01:11 回答
  • 按你的说法的话,已经压缩过了,原生应用在编译过程中就会把无关的东西忽略掉。


    好久没拿赞了我擦,补充点。。。

    编译器会做很多事情,忽略空格、换行等只是其中非常小的边角工作。还有一些“压缩”是你所说的压缩方式不能比的,比如如果你代码中有从没用到过的变量声明,编译器可能会把这个变量忽略。又或者

    var a = 1
    var b = a
    var c = b
    print(c)
    

    这种鬼东西(请不要在意语法。。。),编译器不一定乖乖按你的套路来,编译后的逻辑很可能是:

    print(1)
    

    这样的。看具体编译器的实现和你指定的参数。

    比如在 Debug 的情况下,一些无用的代码会被保留,以免造成调试时的误解。但在 Release Build 中,编译优化级别就会提高,编译器就可能出现上面提的那些表现。

    2022-10-31 01:12 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有