iOS开发 - 在状态栏显示FPS,CPU和内存信息

原理

FPS的计算

CoreAnimation有一个很好用的类CADisplayLink,这个类会在每一帧绘制之前调用,并且可以获取时间戳。于是,我们只要统计出,在1s内的帧数即可。

- (void)envokeDisplayLink:(CADisplayLink *)displayLink{
    if (_lastTimestamp == -1) {
        _lastTimestamp = displayLink.timestamp;
        return;
    }
    _countPerFrame ++;
    NSTimeInterval interval = displayLink.timestamp - _lastTimestamp;
    if (interval < 1) { return; } _lastTimestamp = displayLink.timestamp; CGFloat fps = _countPerFrame / interval; //... }

内存和CPU信息的获取

CPU和内存的获取采用了mach头文件中的方法,调用了底层API,采用C方式来获取。

  • LHPerformanceUtil

你可能感兴趣的:(iOS开发 - 在状态栏显示FPS,CPU和内存信息)