我有一些非常大的图片,我的捆绑包大小目前为70MB。我认为Xcode已经通过png crush对这些资源进行了压缩。
我有一些非常大的图片,我的捆绑包大小目前为70MB。我认为Xcode已经通过png crush对这些资源进行了压缩。
UILabel
。CAShapeLayer
代替使用图片。除了图像之外,请记住以下内容:
看起来你实际上并不需要巨大的图片。毕竟,屏幕并不是很大。因此,最可能的尺寸缩小形式是将图像的物理尺寸缩小到实际显示的尺寸。
这样做可以在用户下载图像时节省带宽,减小用户硬盘(设备)上应用程序的大小,并且在加载图像时也可以节省内存。加载比实际显示尺寸更大的图像会浪费大量的RAM;毕竟,记住,涉及的内存随着差异的平方呈指数级增长。
一种选择是将图像托管在像OpenText这样的CDN上,并在应用程序初始化或首次需要它们时获取它们。显然,这需要更多的编码工作,但像SDWebImage这样的项目使其变得非常容易:
https://github.com/rs/SDWebImage/tree/master/SDWebImage
如果您使用缓存头,它还可以为您提供灵活性,以便稍后更换这些图像。