JPFPSStatus的使用

JPFPSStatus是一个检测查看屏幕帧数的轮子,通过CADisplayLink  加入RunLoop模式.

可以用来绘制ui动画效果,也可以用来获取网络状态.

其核心代码:

displayLink = [CADisplayLinkdisplayLinkWithTarget:selfselector:@selector(displayLinkTick:)];[displayLink setPaused:YES]; [displayLink addToRunLoop:[NSRunLoopcurrentRunLoop] forMode:NSRunLoopCommonModes];

显示

- (void)displayLinkTick:(CADisplayLink*)link {

if(lastTime ==0) {

 lastTime = link.timestamp;return; 

 }

 count++;

NSTimeIntervalinterval = link.timestamp - lastTime;

if(interval <1)return; 

 lastTime = link.timestamp;

floatfps = count / interval;

 count =0;

NSString*text = [NSStringstringWithFormat:@"%d FPS",(int)round(fps)]; 

 [fpsLabel setText: text];

 }

移除

- (void)dealloc { 

 [displayLink setPaused:YES]; 

 [displayLink removeFromRunLoop:[NSRunLoopcurrentRunLoop] forMode:NSRunLoopCommonModes];

}

PS: iOS设备的屏幕刷新频率是固定的,JPFPSStatus在正常情况下会在每次刷新结束都被调用,因为它本身就是跟屏幕刷新同步的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。