首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS中的png-包中的png对下载的png- png8对png24

iOS中的png-包中的png对下载的png- png8对png24
EN

Stack Overflow用户
提问于 2014-01-08 22:37:50
回答 2查看 1.2K关注 0票数 5

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

我的应用程序使用来自两个来源的pngs,其中一些在应用程序包中,另一些则从互联网下载并存储在本地。在应用程序包中,我有自己的头脑,我知道在编译应用程序时,xCode会为iOS优化它们(字节交换和Pre相乘Alpha)。关于png从网上下载的情况,我有以下问题。

( 1)如果图片是在包中下载的,那么在iOS中使用pngs是否会带来性能上的好处?xCode优化可以以某种方式应用于下载的映像吗?

2)除了文件大小之外,使用png8和png24是否有任何优点(或缺点)?从本地文件展开时,它们是否占用较少的内存?是否需要更少的努力来扩大它们?动画有什么表现增益吗?还是从更小的文件大小和更好的下载时间中获得唯一的好处?

事先谢谢你的回答。

保罗

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-09 09:50:29

  1. PNG优化是由苹果自己版本的pngcrush完成的(尽管作者声明 . 2.修改后的版本必须明确标明,不得被曲解为原始二进制或原始来源。(http://optimate.dl.sourceforge.net/project/pmt/pngcrush/1.7.70/pngcrush-1.7.70-HELP.txt)

--但苹果并不关心这些细节)。pngcrush是由XCode在编译源代码时调用的。编译后,XCode不再与以后下载的图像有任何关系。然而,在上传新图像之前,你可以使用苹果的pngcrush来“优化”新图像。在我看来,这是否值得付出努力是值得怀疑的。

  1. 这要看情况,一连四次。(如果我数得对的话)8位PNG比24位PNG小3倍.使用单个字节而不是3或4 (RGB,RGBA)应该更快;当然,它使用的内存更少。它主要(或可能,只)取决于您的图像的内容。用PNG的算法压缩图像的效果很差,在8位彩色索引模式下保存时会受到颜色量化的影响。典型的“计算机”图像--比如文本编辑器的快照--大面积的相同颜色可能会很快解压。

如果您要使用8位PNG,则不使用苹果修改后的版本所应用的“优化”。它的主要修改是重新排列RGB(A),大概是为了与iPhone/iPad的显示保持一致。(其次要目的似乎是使图像无效,使其成为有效的PNG。)

票数 3
EN

Stack Overflow用户

发布于 2014-01-08 23:27:44

当您将它们放入包中,并在Xcode中打开"compress“选项时,Xcode会重新格式化png,以使它们更快地加载(但通常比原来的要大,所以在这个行为上有很多线程)。

如果您真的很好奇,请查看应用程序的构建文件夹,并检查修改后的pngs。您将看到的选项是当前iOS的最佳选项。事实上,我隐约记得有一个线程,因此讨论了需要为一些图像转换程序(比如ImageMagik)提供哪些选项来模仿iOS正在做的事情(但我现在找不到)。

编辑:正如Jongware (其他答案)所暗示的那样,Xcode似乎正在使用修改后的pngcrush版本。给评估这些图像选项的人的链接

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21008079

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档