【问题标题】:UIView animation using 90%CPUUIView 动画使用 90%CPU
【发布时间】:2011-12-05 09:56:22
【问题描述】:

嗨,我有动画循环,但正在使用我 90% 的 iphone CPU 处理并且正在加热手机。我做错了什么?

谁能给我一些建议?

谢谢

-(void)nextAnimation:(float)previousWidth {

//picture loop
imageViewTop.image = imageViewBottom.image;
imageViewBottom.image = [imageArray objectAtIndex:[imageArray count] - 1];

[imageArray insertObject:imageViewBottom.image atIndex:0];
[imageArray removeLastObject];
imageViewTop.alpha = 1.0;
imageViewBottom.alpha = 0.0;

[UIView animateWithDuration:4.0
                 animations:^{ 
                     imageViewTop.alpha = 0.0;
                     imageViewBottom.alpha = 1.0;
                     } 
                 completion:^(BOOL  completed){
                     [self nextAnimation:stringsize.width];
                 }
 ]; 

【问题讨论】:

    标签: iphone ios xcode animation cpu


    【解决方案1】:

    您的代码中有一个无限循环。您必须有一个退出条件以避免无限循环。静态计数器为零,如果计数器 > n 退出,则运行一次加 1。

    【讨论】:

    • 是因为无限循环导致CPU高吗?我需要它循环直到找到位置并用其他东西替换它
    • 我想可能是这样,你可以在 nextAnimation 中添加一个 NSLog 来查看它运行了多少次,看看它是否像你想要的那样。
    • 我没有在这段代码中看到任何错误的无限循环。唯一的循环是所需的动画循环。我每天都在做那种代码。我认为还有另一个问题。
    • 不太确定,放入一个 NSLog,运行良好,但如果我切换到另一个视图.....NSLOG 会保持每毫秒记录一次
    • 我相信是这条线,如果我把它注释掉... CPU 很好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多