通过简单的一段代码统计应用启动时间
- 在
main.m
中
|
|
- 在
AppDelegate.m
中
#import "AppDelegate.h"
CFAbsoluteTime StartTime;
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
dispatch_async(dispatch_get_main_queue(), ^{
NSLog(@"完成启动---->%f", CFAbsoluteTimeGetCurrent());
NSLog(@"启动用时---->%f",CFAbsoluteTimeGetCurrent()-StartTime);
});
...
}
CMD + R,程序运行起来启动时间会第一时间打印出来
原理解释: 这个dispatch_async中提交的工作会在app主线程启动后的下一个run lopp中运行,此时app已经完成了载入并且将要显示第一帧画面,也就是系统会运行到
-[UIApplication _reportAppLaunchFinished]
之前