美文网首页
APP 性能指标监控

APP 性能指标监控

作者: i爱吃土豆的猫 | 来源:发表于2019-04-13 22:52 被阅读0次

1、Startup冷启动/热启动时间

1.加载时长
Target -> Edit Scheme -> Run
通过在Arguments中设置参数,打印出App加载的时长,包括整体加载时长,动态库加载时长等。
在Environment Variables中添加DYLD_PRINT_STATISTICS字段,并设置为YES,在控制台就会打印加载时长。

Total pre-main time:  74.37 milliseconds (100.0%)
   dylib loading time:  41.05 milliseconds (55.2%)
  rebase/binding time:   8.10 milliseconds (10.9%)
      ObjC setup time:   9.87 milliseconds (13.2%)
     initializer time:  15.23 milliseconds (20.4%)
     slowest intializers :
       libSystem.B.dylib :   6.58 milliseconds (8.8%)
libBacktraceRecording.dylib :   6.27 milliseconds (8.4%)

总结:
使用DYLD_PRINT_STATISTICS测试启动加载时间
减少自定义的动态库集成
精简原有的Objective-C类和代码
移除静态的初始化操作
使用更多的Swift代码

2、Ram运行时内存

3、Pss共享比例物理内存

4、FPS帧率

  • (void)currntfps{

    //以下代码加在合适的地方
    _link = [CADisplayLink displayLinkWithTarget:self selector:@selector(tick:)];
    [_link addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSRunLoopCommonModes];

}

  • (void)tick:(CADisplayLink *)link {
    if (_lastTime == 0) {
    _lastTime = link.timestamp;
    return;
    }
    _count++;
    NSTimeInterval delta = link.timestamp - _lastTime;
    if (delta < 1) return;
    _lastTime = link.timestamp;
    float fps = _count / delta;
    NSLog(@"页面帧率:%f",fps);
    _count = 0;
    }

用此方法统计帧率的有一些性能损耗,所以需要控制在某些时刻采集一定的样本就及时暂停。暂停将之从RunLoop中移除即可:
在viewWillDisappear方法里移除掉监听的滑动帧率
[_link removeFromRunLoop:[NSRunLoop mainRunLoop] forMode:NSRunLoopCommonModes];

5、Battery电池

6、Cpu利用率

7、Heap

8、Traffic

9、Last Crash Info

10、Pageload页面加载

11、卡顿

12、Thread线程

13、Memory Leak内存泄漏

14、DNS寻址

15、网络类型

16、请求延迟

相关文章

网友评论

      本文标题:APP 性能指标监控

      本文链接:https://www.haomeiwen.com/subject/uksdwqtx.html