在iOS上使用resizableImages时避免混合图层

6
我试图避免在iOS上使用混合层来提高性能。然而,我注意到我正在用于UITableViewCellbackgroundView的可调整大小的图像被标记为混合层:
事实上,即使是没有透明度的JPEG,使用任何可调整大小的图像都会导致图层混合,如下面这个截图所示,在UIImageView中先使用PNG,然后使用JPEG作为可调整大小的图像。唯一不需要混合层的可调整大小的图像是1x1像素的图像,如下图所示:
有没有办法避免这种情况?核心动画分析是不精确的艺术(至少对我来说),但我认为它是滚动表视图时降低帧率至约25 FPS的主要原因。
编辑2:经过更多的实验,我发现如果我只垂直或水平拉伸图像(无论是PNG还是JPG),它们都不会被标记为混合层。然而,经过更多的实验,我认为这可能是因为只在一个维度上拉伸的图像较小。我的图像在100x100时没有被视为混合,但在150x100时被视为混合。
1个回答

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

@iWheelBuy 这些更改是几年前做的,但性能确实有所提高。 - MaxGabriel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接