我对“pngcrush”工具的查询很少。
在 xcode 构建过程中,
- 我将选项“压缩 PNG 文件”设置为“是”,然后检查二进制和图像大小。
- 然后在我的另一个构建过程中,我将选项“压缩 PNG 文件”设置为“否”,然后再次检查二进制文件和图像大小。
但是,1. 和 2. 在二进制/图像大小方面没有任何区别。
为什么“pngcrush”工具没有优化 png 文件?
任何帮助都会很棒。
提前致谢。
问候, 德文德拉
只有在为设备构建应用程序时才会转换文件。iOS 模拟器获取常规 PNG。
但是,Xcode 的转换会使图像变大并且加载速度变慢,所以我建议禁用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 中的图像)
现在确保等待一段时间,让所有进度指示器亮红色
Clean and Build and Archive,您会发现生成的 ipa 文件远小于原始文件。
最后但同样重要的是,此后当您将图像添加到项目中时,只需确保添加优化的图像。它就像将图像拖放到 imageOptim 中一样容易进行优化。
此外,每当添加时,请考虑将图像添加到直接在应用程序级别而不是数据级别使用的资产。如果要添加的图像用于数据级别,则将其直接添加到项目中,并且不要为其创建资产条目,因此至少这些图像不会被粉碎。
快乐压缩每个人:)
pngcrush 工具由 Xcode 构建过程在将 .png 复制到应用程序包中的目标位置时运行。当您将“压缩 PNG 文件”选项设置为“是”时,此过程会在您的 .png 文件上运行。(请注意,此工具有时会增加图像的大小!)如果在它们上运行 pngcrush,我不希望 .png 图像的大小相同。
pngcrush 进程也会破坏 .png,使其只能由 iOS 打开。因此,如果您无法在应用程序包中查看图像,则表明 pngcrush 实际上已在其上运行,这是一个好兆头。
另一件事要记住;有时 build 文件夹中的应用程序包的内容不会直接与 Xcode 项目中的文件对应。因此,有时手动清理构建文件夹是个好主意。