6

我试图避免在 iOS 上混合图层以提高性能。但是,我注意到我用于我的可调整大小的图像backgroundViewUITableViewCell标记为混合图层:

UITableViewCell 被视为混合层

事实上,使用任何可调整大小的图像——即使是没有透明度的 JPEG——都会导致图层混合,如此屏幕截图所示,其中首先使用 PNG,然后使用 JPEG 作为UIImageView. 唯一不需要混合图层的可调整大小的图像是 1x1 像素图像,见底部:

第一张图片是 PNG,第二张是 JPEG,第三张是 1x1 像素 PNG

有没有办法避免这种情况?核心动画分析是不精确的艺术(至少对我来说),但我认为它是滚动我的表格视图时下降到大约 25 FPS 的主要贡献者。

Edit2:经过更多实验,我发现如果我只垂直或水平拉伸图像(PNG 或 JPG),它们不会被标记为混合图层。然而,在更多的实验中,我认为这可能是因为仅在一维上拉伸的图像更小。我的图像没有被视为 100x100 的混合,但它是 150x100。

在此处输入图像描述

4

1 回答 1

4

我创建了一个非常宽的图像,并且只垂直拉伸它。这不需要混合图层,并为我的表格视图单元格实现了正确的效果。这并不理想,但由于高度较小,视网膜图像仍然只有 236 字节。

不被视为混合图层的非常宽的可拉伸图像

于 2013-02-26T05:32:15.977 回答