1

我正在使用类方法返回一个 CAGradientLayer 并将其插入到视图中的子层中。如果我将框架设置为屏幕大小、宽度和高度的四分之一,我的应用程序运行流畅如黄油,但大多数情况下,如果我将框架大小设置为全宽和高度,动画的平滑度需要很大打。

我发现大多数时候当动画平滑度被破坏时,我可以加载大量图像,即使 CAGradientLayer 仍然存在,平滑度也恢复了。这让我认为加载图像的行为会触发操作系统清空某种缓存。有什么可以手动清空的东西吗?

即使我要失去质量,以某种方式将 CAGradientLayer 的大小设置为较小的然后将其拉伸会有所帮助吗?

在返回 CAGradientLayer 之前,我还尝试设置这些属性,但对问题几乎没有影响:

headerLayer.shouldRasterize = YES;

headerLayer.rasterizationScale=[UIScreen mainScreen].scale;

headerLayer.drawsAsynchronously = YES;

headerLayer.opaque = YES;
4

0 回答 0