【发布时间】:2010-10-05 09:35:11
【问题描述】:
对于我的 iPhone 应用程序,我在一些子类 UIView 的帮助下创建了一些旋转齿轮。
我创建了由计时器触发的自转子类。
在一个地方,我在另一个地方有这些子类之一(所以旋转中的旋转,想想月球绕地球旋转和它自己的轴)。这一切都旋转得很好,花花公子,但有时,比如每分钟一到两次,我看到 UIViews 区域有一个非常快速的白色闪烁。有时在上半部分,有时在下半部分,有时在整个区域(只有大约 128 x 128 像素)。
我使用 CGAffineTransformMakeRotation 进行旋转。
我猜这是由于性能问题,但是在简化图像(例如,不再有 Photoshop 在 PNG 中制作阴影)并减少每秒调用计时器的次数(每秒 2 次而不是 5 次)之后,我仍然有问题。在 iPhone 3G 上的 Instruments 中测量时,CPU 负载现在下降到 9-25%(从大约 47%)。还在闪烁!
关于从哪里开始故障排除或在视图中旋转图像的更好方法的任何线索?
感谢所有想法!
【问题讨论】:
-
我可能已经找到了(有趣的是,简单地发布一个问题就可以解决它!)。在其中一个子视图中,我有一个 UIView beginAnimations。一旦我删除,闪烁就消失了。现在只需要找到另一种方法来平滑特定的动画。完成更多测试后,我将进行更新...
标签: iphone uiview performance rotation