利用upx给electron的exe减肥效果对比
发布于 作者:苏南大叔 来源:程序如此灵动~
upx是给exe加壳的软件,但是它本身也有非常好的压缩功能。所以,也可以用来给exe减肥。而electron生成的exe,总体一般都是100多兆。即使你的js代码就写了两行,也会是这个效果。这对于我们的用户体验上来说,简直是个灾难。那么,对于electron来说,upx还是有一定的价值的。

本文的实践基础是electron的exe,对于其他的exe也有一定的借鉴意义。测试环境:win10,upx394w。
upx下载
下载最新版的w版,截至本文写作时为止,这个答案就是: upx394w.zip 这个版本。

命令行进行压缩
<upx.exe的路径> <要压缩的exe或者dll>注意如果路径中有空格的话,要用引号引起来即可。
对于解压版,压缩效果明显
苏南大叔先压缩主程序和node.dll这两个最大的文件,效果非常明显。大家看截图。


55M的主程序,压缩完是18.7M。

14M的node.dll,压缩完是5.5M。


整体来说,从105M变成了61.9M。
对于inno安装版,压缩效果没有,甚至反作用
正常的inno安装包,是31M。
如果我们对主程序体先upx,然后再用innosetup打包。那么,upx 不但没有效果,而且有反作用。先upx再inno的exe,体积反而更大(33.5M)。大家看一下对比图,左边是没有使用任何upx,直接inno得到的效果;

苏南大叔进一步实验:对于上述较小的安装包(没有任何加工直接inno),再次使用upx的话,upx更没有任何压缩效果,exe体积不变。

结语
通过上面的截图对比,大家可以知道,upx减肥是有效果的。但是这个效果并不是万能的。是否使用upx来对electron的exe程序减肥,仁者见仁智者见智了。聪明的你,必定有自己的决定。
更多electron的相关资讯,请点击苏南大叔的博客:
其实根本就没必要用upx。因为你传播的时候肯定是已经压缩后了的压缩包。而再在压缩包里用upx,不但压缩包不会变小,而且每次启动时候会因为upx要解压,非常慢
miniblink亲自大神来评论么?受宠若惊
同意
压缩后'此应用无法在你的电脑上运行'
压缩后运行程序, 提示运行错误...不晓得什么情况