点击App图标启动 -> main函数 -> AppDelegate -> 首页viewDidAppear 的时间
标准:最好控制在400毫秒之内git
Total pre-main time: 175.75 milliseconds (100.0%) dylib loading time: 40.17 milliseconds (22.8%) rebase/binding time: 24.04 milliseconds (13.6%) ObjC setup time: 25.48 milliseconds (14.4%) initializer time: 85.93 milliseconds (48.8%) slowest intializers : libSystem.B.dylib : 5.57 milliseconds (3.1%) libBacktraceRecording.dylib : 4.08 milliseconds (2.3%) libMainThreadChecker.dylib : 31.51 milliseconds (17.9%) PassKitCore : 4.26 milliseconds (2.4%) huhuWebapp : 31.77 milliseconds (18.0%)
通常说来,pre-main
阶段的定义为APP开始启动到系统调用main函数这一段时间;github
main阶段
则表明从main函数入口到主UI框架的viewDidAppear函数调用的这一段时间shell
计算方法:性能优化
在main函数写入如下代码网络
NSLog(@"LaunchStartTime: %f", CACurrentMediaTime());
在首页viewDidAppear加入以下代码app
- (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; NSLog(@"LaunchEndTime: %f", CACurrentMediaTime()); }
pod 'FPSLabel', '~> 1.0.1'
在首页viewDidLoad加入如下代码框架
[FPSLabel installOnWindow:KWindow];
pod 'WMDebugAssistant' ,:git=>"https://github.com/roronoaxyz/WMDebugAssistant.git", :tag => '0.1.2'
导入依赖函数
#import "WMAssistantBall.h" @property (strong, nonatomic) WMAssistantBall *assistantBall;
在ViewDidLoad添加如下代码性能
- (void)viewDidLoad { [super viewDidLoad]; self.assistantBall = [[WMAssistantBall alloc] init];//必定要做为一个局部属性 self.assistantBall.addtionItems = @[@"暗门", @"接口数", @"网络", @"日志"]; //额外加一些按钮 self.assistantBall.ballColor = [UIColor blueColor]; //按钮颜色 self.assistantBall.shapeColor = [UIColor redColor]; //移动时的光圈颜色 [self.assistantBall doWork]; //很重要 必定要调用 //点击了某一个选项 self.assistantBall.selectBlock = ^(NSString *title, UIButton *button) { NSLog(@"%@", title); }; }
白色:@"CPU", 红色:@"内存", 绿色:@"流量", 蓝色:@"FPS"
转载于:https://www.jianshu.com/p/4317d8b138f0优化