Iphone 测量平滑滚动性能

Iphone 测量平滑滚动性能,iphone,Iphone,有没有办法测量iPhone应用程序中的滚动性能,例如每秒更新次数?我正在尝试各种技术来提高滚动性能,但有时很难判断它们是否真的有效果。如果您有一个滚动委托,您可以实现方法scrollViewDidScroll:。具体而言: //header: @interface MyClass : NSObject <UIScrollViewDelegate> { CFAbsoluteTime last; int updateCount; CFTimeInterval ti

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

如果您有一个滚动委托,您可以实现方法
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
//标题:
@接口MyClass:NSObject{
最后一次;
int updateCount;
CFTimeInterval-timeTotal;
}
@结束
//实施:
@MyClass的实现
-(无效)scrollViewDidScroll:(UIScrollView*)scrollView{
CFAbsoluteTime time=CFAbsoluteTimeGetCurrent();
如果(上次>0){
timeTotal+=时间-最后一次;
++更新计数;
如果(总时间>1){
NSLog(@“每秒更新次数:%.2f”,updateCount/timeTotal);
updateCount=0;
timeTotal=0;
}
}
最后一次=时间;
}
@结束
差不多吧。它未经测试,因此日志记录可能不正确。但要使用它,只需将您的委托分配给
scrollview.delegate
属性