我使用类方法返回CAGradientLayer并将其插入视图中的子图层。如果我将框架设置为屏幕尺寸,宽度和高度的四分之一,我的应用程序运行平稳如黄油,但大多数时候,如果我将框架大小设置为完整的宽度和高度,动画的平滑度需要很大击中。
我发现大多数情况下,当动画平滑度被破坏时,我可以加载大量图像,即使CAGradientLayer仍然存在,也会恢复平滑度。这让我觉得加载图像的行为会触发操作系统清空某种缓存。是否有任何可以手动清空的想法?
以某种方式将CAGradientLayer的大小设置为小的东西,然后伸出来帮助即使我失去了质量?
在返回CAGradientLayer之前,我还尝试设置这些属性,对问题几乎没有影响:
headerLayer.shouldRasterize = YES;
headerLayer.rasterizationScale=[UIScreen mainScreen].scale;
headerLayer.drawsAsynchronously = YES;
headerLayer.opaque = YES;