有啥方法可以提高 UIView beginAnimations/commitAnimations 的性能吗?

Posted

技术标签:

【中文标题】有啥方法可以提高 UIView beginAnimations/commitAnimations 的性能吗?【英文标题】:Is there any way to improve UIView beginAnimations/commitAnimations performance?有什么方法可以提高 UIView beginAnimations/commitAnimations 的性能吗? 【发布时间】:2010-05-05 15:58:27 【问题描述】:

我正在通过

调整控件的大小
[UIView beginAnimations]
[self setTransform:CGAffineTransformMakeScale(0.5f, 0.5f)];
[UIView commitAnimations]

动画在 iPhone 模拟器上看起来很漂亮,但在我的 2G 测试设备上却慢得令人难以忍受,而且断断续续。如何改善旧 iPhone 上的动画效果?还是我必须在旧设备上禁用动画过渡?谢谢。

【问题讨论】:

您要调整大小的控件是什么? subViews/subLayers 层次结构是什么样的? 感谢您的提问。该控件有一些使用 CGPathAddArc 进行自定义绘图/填充的子视图。这提醒我,在模拟器和实际设备上,弧线的呈现方式有所不同。有什么线索让我可怜的旧 2G iPhone 变慢了吗? 【参考方案1】:

我的问题是屏幕上有太多不透明的 UIView。我通过一些重新设计从根本上减少了这个数字,现在它非常活泼。

【讨论】:

这是“第一次做可能不是最好的方法”的完美例子。我总是得到一些工作并重新设计 - 希望改进它。干得好——我很高兴你没有责怪框架。你努力改进你的设计!

以上是关于有啥方法可以提高 UIView beginAnimations/commitAnimations 的性能吗?的主要内容,如果未能解决你的问题,请参考以下文章

UIView beginanimations:子视图不应动画

在 UIView beginAnimations 完成后执行操作

UIView beginAnimations 在自定义属性上太快了

iOS动画和特效UIView动画和CoreAnimation

iOS学习_动画

有啥方法可以提高火花写入性能?