【发布时间】:2011-11-15 08:14:20
【问题描述】:
我对“pngcrush”工具的查询很少。
在 xcode 构建过程中,
- 我将选项“压缩 PNG 文件”设置为“是”,然后检查二进制和图像大小。
- 然后在我的另一个构建过程中,我将选项“压缩 PNG 文件”设置为“否”,然后再次检查二进制文件和图像大小。
但是,1. 和 2. 在二进制/图像大小方面没有任何区别。
为什么“pngcrush”工具没有优化png文件?
任何帮助都会很棒。
提前致谢。
问候, 德文德拉
【问题讨论】:
我对“pngcrush”工具的查询很少。
在 xcode 构建过程中,
但是,1. 和 2. 在二进制/图像大小方面没有任何区别。
为什么“pngcrush”工具没有优化png文件?
任何帮助都会很棒。
提前致谢。
问候, 德文德拉
【问题讨论】:
pngcrush 工具由 Xcode 构建过程在将 .png 复制到应用程序包中的目标位置时运行。当您将“压缩 PNG 文件”选项设置为“是”时,此过程会在您的 .png 文件上运行。 (请注意,此工具有时会增加图像的大小!)如果在它们上运行 pngcrush,我不希望 .png 图像的大小相同。
pngcrush 进程也会破坏 .png,使其只能由 iOS 打开。因此,如果您无法在应用程序包中查看图像,则表明 pngcrush 实际上已在其上运行。
要记住的另一件事;有时 build 文件夹中的应用程序包的内容不会直接与 Xcode 项目中的文件对应。因此,有时手动清理构建文件夹是个好主意。
【讨论】:
只有在为设备构建应用程序时才会转换文件。 iOS 模拟器获取常规 PNG。
但是,Xcode's conversion can make images larger and slower to load,所以我建议禁用 Compress PNG Files 选项并手动优化 PNG 图像。
【讨论】:
请注意,添加到 Images.xcassets 中的任何图像仍会被压缩,而与“压缩 PNG 文件”标志无关。因此,如果您尝试为 Images.xcassets 中添加的图像保持相同的文件大小,则不可能。
现在来到 PNGCrush,它是一个开源命令行工具,与 xcode 捆绑在一起,xcode 使用它来压缩图像。但是 pngcrush 通过清理不需要的块并重新创建 png 图像以获得最高质量进行压缩,因此压缩后的图像可能高于原始图像。
还有很多其他的工具可以压缩。但是,Mac 世界中的人们很幸运能够将所有工具合并为一个最佳工具。 ImageOptim 无缝集成了最佳优化工具 PNGOUT、Zopfli、Pngcrush、AdvPNG、扩展 OptiPNG、JpegOptim、jpegrescan、jpegtran 和 Gifsicle。此外,使用 Imageoptim,您不必再将 jpg 转换为 png,然后再添加到应用程序 jpg 也使用 image optim 进行了优化。
为了达到最佳捆绑大小,最好遵循以下操作
Clean-Build-Archive-Export 并注意 ipa 文件大小。
将“压缩 PNG 文件”设置为否
安装 Imageoptim(http://imageoptim.com/ 提供)
转到终端并导航到源目录
使用命令open -a ImageOptim .
它会自动查找图像源并对其进行压缩(不用担心也会优化 .xcassets 中的图像)
现在确保等待一段时间,让所有进度指示器都发红光
清理并构建和存档,您会发现生成的 ipa 文件远小于原始文件。
最后但并非最不重要的一点是,此后当您将图像添加到项目中时,只需确保添加优化的图像。就像将图像拖放到 imageOptim 中进行优化一样简单。
此外,无论何时添加,请考虑将图像添加到直接用于应用级别而非数据级别的资产。如果要添加的图像用于数据级别,则将其直接添加到项目中,并且不要为其创建资产条目,因此至少这些图像不会被粉碎。
祝大家压缩愉快:)
【讨论】: