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

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"
阅读 3.5k
4 个回答

按你的说法的话,已经压缩过了,原生应用在编译过程中就会把无关的东西忽略掉。


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

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

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

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

print(1)

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

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

楼上说的对,不需要压缩代码。

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

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

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

编译完了就没源代码了,都是机器码

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题