经过短暂的搜索,奇怪的是我没有找到任何类似的问题。
自从App Launch以来,我想计算iOS App完全加载所需的时间。 我的问题是:以下方法是否最准确(嗯,我认为我们不能100%准确)?
在App Delegate中,添加变量:
NSDate *start_date;
在didFinishLaunchingWithOptions:
中,在第1行添加:
start_date = [NSDate date];
在某个代表app完全加载的函数中,添加:
NSTimeInterval time_taken = [start_date timeIntervalSinceNow];
但NSNotificationCenter
中是否有任何通知配置为检测应用已完成所有加载?
答案 0 :(得分:4)
您可以做的最好的事情是跟踪main
中的开始时间戳,并在根视图控制器的viewDidAppear
方法中跟踪结束时间。
请注意,这不包括操作系统加载和启动应用程序到main
被调用的时间。没有办法追踪那个时间。
没有通知。您需要确定完成加载的含义,例如我之前建议的内容。
答案 1 :(得分:1)
我建议您在应用代理中添加+initialize
类方法。在创建视图控制器的实例之前将调用该方法。
添加NSDate全局变量(在.m文件中,在实现之外)并将其设置为[NSDate date]。然后,一旦您完全设置了用户界面并准备好响应,请将开始NSDate与当前时间进行比较。