Objective c 什么是iOS中的PngCrush?
我知道Pngcrush是iOS中的一种图像优化技术,但我怀疑X-code是否会在每次构建期间或在将我们的应用部署到iTunes应用商店之前在内部执行此操作?我们需要在构建期间执行此图像优化?Xcode进行转换。最终的应用程序将修改PNG,您无需手动执行任何操作。默认情况下,XCode自动执行压缩操作 您可以通过项目的生成设置控制此行为:Objective c 什么是iOS中的PngCrush?,objective-c,ios,xcode,image-optimization,pngcrush,Objective C,Ios,Xcode,Image Optimization,Pngcrush,我知道Pngcrush是iOS中的一种图像优化技术,但我怀疑X-code是否会在每次构建期间或在将我们的应用部署到iTunes应用商店之前在内部执行此操作?我们需要在构建期间执行此图像优化?Xcode进行转换。最终的应用程序将修改PNG,您无需手动执行任何操作。默认情况下,XCode自动执行压缩操作 您可以通过项目的生成设置控制此行为: 搜索设置“压缩PNG文件”,并设置所需的值。PNG压缩使用pngcrush工具完成,您可以使用以下命令手动访问该工具: xcrun -sdk iphoneos
搜索设置“压缩PNG文件”,并设置所需的值。PNG压缩使用
pngcrush
工具完成,您可以使用以下命令手动访问该工具:
xcrun -sdk iphoneos pngcrush -iphone ...
Xcode将自动为添加到目标的任何文件执行此操作,文件类型为“PNG”:
如果使用目录引用包含资源,Xcode将不会执行PNG压缩,您必须手动执行此操作
您可以使用以下小bash片段手动粉碎目录中的所有PNG:
find /path/to/directory -name "*.png" | while read filename; do
xcrun -sdk iphoneos pngcrush -iphone "$filename" "${filename}_crushed"
mv "${filename}_crushed" "${filename}"
done
请不要重复你的问题。如果您有什么要添加的,请改为编辑原始图像。粉碎下载供应用程序内使用的图像(如在uitableview中)是否有任何性能优势?我想这就是他们首先这么做的原因。它们对alpha进行预乘,因此它们不必在加载时或绘图时进行预乘;他们交换通道,所以通道顺序就是我猜的硬件通道顺序,所以他们也不必在加载时这样做。