iOS应用程序启动时间测量

da *_*res 6 iphone objective-c ios xamarin swift

如何计算从用户按下主屏幕上的启动按钮到应用程序处于活动状态的那一刻所需的时间(例如,直到第一个视图控制器的viewDidAppear方法)?

Id不需要以编程方式,但必须可靠.

类似于Android,logcat可用于此效果.

小智 12

您可以在 Xcode 上编辑方案并添加环境变量 (DYLD_PRINT_STATISTICS = 1),如图所示 在此处输入图片说明

当您运行应用程序时,详细信息将打印在调试器输出上,如下所示:

Total pre-main time: 481.88 milliseconds (100.0%)
         dylib loading time:  71.70 milliseconds (14.8%)
        rebase/binding time:  53.66 milliseconds (11.1%)
            ObjC setup time:  40.04 milliseconds (8.3%)
           initializer time: 316.33 milliseconds (65.6%)
           slowest intializers :
             libSystem.B.dylib :  16.71 milliseconds (3.4%)
Run Code Online (Sandbox Code Playgroud)

请观看视频了解更多详情。


mat*_*dev 0

一个简单的实现是在应用程序 main 中启动一个StopWatch,然后在方法中获取时间结果ViewDidAppear

public class Application
{
    public static Stopwatch StartUpTimer;

    static void Main(string[] args)
    {
            StartUpTimer = new Stopwatch();
            StartUpTimer.Start();
            UIApplication.Main(args, null, "AppDelegate");
    }
}

public class MyUIViewController : UIViewController
{
    public override void ViewDidAppear (bool animated)
    {

        Console.WriteLine (Application.StartUpTimer.ElapsedMilliseconds.ToString () + "ms to startup");
        base.ViewDidAppear (animated);
    }
}
Run Code Online (Sandbox Code Playgroud)