gpt4 book ai didi

ios - iOS 中的 PNG - bundle 中的 png 与下载的 - png8 与 png24

转载 作者:可可西里 更新时间:2023-11-01 04:35:09 26 4
gpt4 key购买 nike

我正在编写一个 iOS 应用程序,并且有一些关于使用 png 和性能的问题,我找不到任何答案。

我的应用程序使用来自 2 个来源的 png,一些在应用程序包中,另一些从互联网下载并存储在本地。应用程序包中的那些我有我的想法,我知道 xCode 在编译应用程序时针对 iOS 优化它们(字节交换和预乘 Alpha)。我对从互联网上下载的 png 文件有以下疑问。

1) 如果图像是下载的而不是在 bundle 中,您是否仍然从在 iOS 中使用 png 获得性能优势。 xCode 优化能否以某种方式应用于下载的图像?

2) 除了文件大小之外,使用 png8 和 png24 有什么优点(或缺点)吗?从本地文件扩展时,它们占用的内存更少吗?扩展它们是否需要更少的努力?动画有任何性能提升吗?或者是文件大小更小和下载时间更短的唯一好处?

提前感谢您的回答。

保罗

最佳答案

  1. PNG 优化是由 Apple 自己的 pngcrush 版本完成的(即使其作者声明

    [...] 2. Altered versions must be plainly marked as such and must not be misrepresented as being the original binary or source. (http://optimate.dl.sourceforge.net/project/pmt/pngcrush/1.7.70/pngcrush-1.7.70-HELP.txt)

    ——但 Apple 并不关心这些细节)。 pngcrush编译您的源代码时由 XCode 调用。编译完成后,XCode 和后面下载的图片就没有任何关系了。但是,您可以在上传之前应用 Apple 的 pngcrush 来“优化”新图像。在我看来,这是否值得付出努力值得怀疑。

  2. 视情况而定,连续四次。 (如果我没数错的话。)8 位 PNG 比 24 位 PNG 小 3 倍。使用单个字节而不是 3 或 4(RGB、RGBA)应该更快;自然它使用更少的内存。它主要(或可能仅)取决于图像的内容。照片图像使用 PNG 的算法压缩得很差,并且在以 8 位颜色索引模式保存时会受到颜色量化的影响。具有大面积相同颜色的典型“计算机”图像(例如,文本编辑器的快照)可以非常快速地解压缩。

如果您打算使用 8 位 PNG,则不会使用 Apple 修改版本应用的“优化”。它的主要修改是重新排列 RGB(A),大概是为了与 iPhone/iPad 的显示对齐。 (它的第二个目的似乎是使图像作为有效的 PNG 无效。)

关于ios - iOS 中的 PNG - bundle 中的 png 与下载的 - png8 与 png24,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21008079/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com