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"
编译完了就没源代码了,都是机器码
没有必要吧,因为js/css压缩是为减少网络读取时间,并不是因为它真的很大。虽然不清楚ios打包的时候代码这之间的空格和换行符号是否会增加多少大小,但我认为是没有必要的。
楼上说的对,不需要压缩代码。
你问题中的控制台输出语句在release版本中不会输出,所以不用特意去掉。
编译型语言不同于CSS JS等脚本语言,是要编译成二进制文件执行的,编译出来的执行文件往往比源代码要大很多。这是由于执行文件中同时编译了连接库。所以精简代码是没有必要的。
按你的说法的话,已经压缩过了,原生应用在编译过程中就会把无关的东西忽略掉。
好久没拿赞了我擦,补充点。。。
编译器会做很多事情,忽略空格、换行等只是其中非常小的边角工作。还有一些“压缩”是你所说的压缩方式不能比的,比如如果你代码中有从没用到过的变量声明,编译器可能会把这个变量忽略。又或者
var a = 1 var b = a var c = b print(c)
这种鬼东西(请不要在意语法。。。),编译器不一定乖乖按你的套路来,编译后的逻辑很可能是:
print(1)
这样的。看具体编译器的实现和你指定的参数。
比如在 Debug 的情况下,一些无用的代码会被保留,以免造成调试时的误解。但在 Release Build 中,编译优化级别就会提高,编译器就可能出现上面提的那些表现。