测量平滑滚动性能

时间:2010-06-04 09:15:11

标签: iphone

有没有办法测量iPhone应用中的滚动效果,例如:每秒更新?我正在尝试各种技术来提高滚动性能,但有时很难判断它们是否真的有效。

1 个答案:

答案 0 :(得分:2)

如果您有滚动委托,则可以实现方法scrollViewDidScroll:。具体做法是:

//header:
@interface MyClass : NSObject <UIScrollViewDelegate> {
    CFAbsoluteTime last;
    int updateCount;
    CFTimeInterval timeTotal;
}
@end

//implementation:
@implementation MyClass

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    CFAbsoluteTime time = CFAbsoluteTimeGetCurrent();
    if (last > 0) {
        timeTotal += time - last;
        ++updateCount;
        if (timeTotal > 1) {
            NSLog(@"Updates Per Second: %.2f", updateCount / timeTotal);
            updateCount = 0;
            timeTotal = 0;
        }
    }
    last = time;
}

@end

这样的事情。它未经测试,因此日志记录可能不正确。但要使用它,只需将您的代理分配给scrollview.delegate属性。