美文网首页
iOS 查看main() 阶段耗时

iOS 查看main() 阶段耗时

作者: tongyuling | 来源:发表于2022-08-15 09:57 被阅读0次

    对于 main() 阶段,主要测量的就是从 main() 函数开始执行到 didFinishLaunchingWithOptions 方法执行结束的耗时。

    // 第一步:在 main() 函数里用变量 MainStartTime 记录当前时间
    CFAbsoluteTime MainStartTime;
    int main(int argc, char * argv[]) {
        MainStartTime = CFAbsoluteTimeGetCurrent();
        @autoreleasepool {
            return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
        }
    }
    
    // 第二步:在 AppDelegate.m 文件中用 extern 声明全局变量 MainStartTime
    extern CFAbsoluteTime MainStartTime;
    
    // 第三步:在 didFinishLaunchingWithOptions 方法结束前,再获取一下当前时间,与 MainStartTime 的差值就是 main() 函数阶段的耗时
    double mainLaunchTime = (CFAbsoluteTimeGetCurrent() - MainStartTime);
    NSLog(@"main() 阶段耗时:%.2fms", mainLaunchTime * 1000);
    

    相关文章

      网友评论

          本文标题:iOS 查看main() 阶段耗时

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