通过简单的一段代码统计应用启动时间
- 在
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]之前