storyboard創(chuàng)建vc的速度會影響用戶體驗(yàn)嗎镣典?以下做了一個簡單的數(shù)據(jù)統(tǒng)計(jì)再榄。
storyboard創(chuàng)建的vc如圖所示:
為了對比創(chuàng)建速度,同時也用代碼創(chuàng)建uiviewcontroller。
代碼如下:
NSDate *begain = [NSDate date];
NSLog(@"SB開始時間%@", begain);
for (int i = 0; i < 100; i ++) {
TestSbVC *testVC = [TestSbVC creat];
}
NSDate *end = [NSDate date];
NSLog(@"SB結(jié)束時間%@", end);
NSTimeInterval interval = [end timeIntervalSinceDate:begain];
NSLog(@"SB時間%f", interval * 1000);
TimeModel *model = [TimeModel new];
model.sbBegin = begain;
model.sbEnd = end;
model.sbInterval = interval;
begain = [NSDate date];
NSLog(@"開始時間%@", begain);
for (int i = 0; i < 100; i ++) {
UIViewController *VC = [[UIViewController alloc] init];
}
end = [NSDate date];
NSLog(@"結(jié)束時間%@", end);
interval = [end timeIntervalSinceDate:begain];
NSLog(@"時間%f", interval * 1000);
model.begin = begain;
model.end = end;
model.interval = interval;
[self.array addObject:model];
其中TimeModel是創(chuàng)建時間花費(fèi)統(tǒng)計(jì)淀歇,可以在統(tǒng)計(jì)頁面展示。
使用iOS12.4.6, iPhone 6p上的時間統(tǒng)計(jì)為:
2020-09-29 15:32:52.988282+0800 test[49975:1544313] SB開始時間2020-09-29 07:32:52 +0000
2020-09-29 15:32:53.173188+0800 test[49975:1544313] SB結(jié)束時間2020-09-29 07:32:53 +0000
2020-09-29 15:32:53.173406+0800 test[49975:1544313] SB時間193.354011
2020-09-29 15:32:53.173722+0800 test[49975:1544313] 開始時間2020-09-29 07:32:53 +0000
2020-09-29 15:32:53.181798+0800 test[49975:1544313] 結(jié)束時間2020-09-29 07:32:53 +0000
2020-09-29 15:32:53.182017+0800 test[49975:1544313] 時間8.042097
2020-09-29 15:32:54.110151+0800 test[49975:1544313] SB開始時間2020-09-29 07:32:54 +0000
2020-09-29 15:32:54.225197+0800 test[49975:1544313] SB結(jié)束時間2020-09-29 07:32:54 +0000
2020-09-29 15:32:54.225394+0800 test[49975:1544313] SB時間115.046024
2020-09-29 15:32:54.225630+0800 test[49975:1544313] 開始時間2020-09-29 07:32:54 +0000
2020-09-29 15:32:54.233182+0800 test[49975:1544313] 結(jié)束時間2020-09-29 07:32:54 +0000
2020-09-29 15:32:54.233407+0800 test[49975:1544313] 時間7.591009
2020-09-29 15:32:55.362325+0800 test[49975:1544313] SB開始時間2020-09-29 07:32:55 +0000
2020-09-29 15:32:55.501803+0800 test[49975:1544313] SB結(jié)束時間2020-09-29 07:32:55 +0000
2020-09-29 15:32:55.502035+0800 test[49975:1544313] SB時間139.551044
2020-09-29 15:32:55.502278+0800 test[49975:1544313] 開始時間2020-09-29 07:32:55 +0000
2020-09-29 15:32:55.510036+0800 test[49975:1544313] 結(jié)束時間2020-09-29 07:32:55 +0000
2020-09-29 15:32:55.510247+0800 test[49975:1544313] 時間7.810950
2020-09-29 15:32:56.429088+0800 test[49975:1544313] SB開始時間2020-09-29 07:32:56 +0000
2020-09-29 15:32:56.576633+0800 test[49975:1544313] SB結(jié)束時間2020-09-29 07:32:56 +0000
2020-09-29 15:32:56.577194+0800 test[49975:1544313] SB時間147.638917
2020-09-29 15:32:56.577745+0800 test[49975:1544313] 開始時間2020-09-29 07:32:56 +0000
2020-09-29 15:32:56.585649+0800 test[49975:1544313] 結(jié)束時間2020-09-29 07:32:56 +0000
2020-09-29 15:32:56.585854+0800 test[49975:1544313] 時間7.885933
2020-09-29 15:32:57.512637+0800 test[49975:1544313] SB開始時間2020-09-29 07:32:57 +0000
2020-09-29 15:32:57.653432+0800 test[49975:1544313] SB結(jié)束時間2020-09-29 07:32:57 +0000
2020-09-29 15:32:57.653680+0800 test[49975:1544313] SB時間140.890002
2020-09-29 15:32:57.653924+0800 test[49975:1544313] 開始時間2020-09-29 07:32:57 +0000
2020-09-29 15:32:57.661614+0800 test[49975:1544313] 結(jié)束時間2020-09-29 07:32:57 +0000
2020-09-29 15:32:57.661874+0800 test[49975:1544313] 時間7.732987
2020-09-29 15:32:59.244159+0800 test[49975:1544313] SB開始時間2020-09-29 07:32:59 +0000
2020-09-29 15:32:59.353919+0800 test[49975:1544313] SB結(jié)束時間2020-09-29 07:32:59 +0000
2020-09-29 15:32:59.354088+0800 test[49975:1544313] SB時間109.764934
2020-09-29 15:32:59.354331+0800 test[49975:1544313] 開始時間2020-09-29 07:32:59 +0000
2020-09-29 15:32:59.362000+0800 test[49975:1544313] 結(jié)束時間2020-09-29 07:32:59 +0000
2020-09-29 15:32:59.362153+0800 test[49975:1544313] 時間7.681966
2020-09-29 15:33:01.127798+0800 test[49975:1544313] SB開始時間2020-09-29 07:33:01 +0000
2020-09-29 15:33:01.242754+0800 test[49975:1544313] SB結(jié)束時間2020-09-29 07:33:01 +0000
2020-09-29 15:33:01.242961+0800 test[49975:1544313] SB時間115.002036
2020-09-29 15:33:01.243250+0800 test[49975:1544313] 開始時間2020-09-29 07:33:01 +0000
2020-09-29 15:33:01.250293+0800 test[49975:1544313] 結(jié)束時間2020-09-29 07:33:01 +0000
2020-09-29 15:33:01.250493+0800 test[49975:1544313] 時間7.086039
2020-09-29 15:33:02.945304+0800 test[49975:1544313] SB開始時間2020-09-29 07:33:02 +0000
2020-09-29 15:33:03.082992+0800 test[49975:1544313] SB結(jié)束時間2020-09-29 07:33:03 +0000
2020-09-29 15:33:03.083216+0800 test[49975:1544313] SB時間137.732983
2020-09-29 15:33:03.083519+0800 test[49975:1544313] 開始時間2020-09-29 07:33:03 +0000
2020-09-29 15:33:03.090863+0800 test[49975:1544313] 結(jié)束時間2020-09-29 07:33:03 +0000
2020-09-29 15:33:03.091004+0800 test[49975:1544313] 時間7.305980
2020-09-29 15:33:04.228398+0800 test[49975:1544313] SB開始時間2020-09-29 07:33:04 +0000
2020-09-29 15:33:04.346177+0800 test[49975:1544313] SB結(jié)束時間2020-09-29 07:33:04 +0000
2020-09-29 15:33:04.346342+0800 test[49975:1544313] SB時間117.792010
2020-09-29 15:33:04.346456+0800 test[49975:1544313] 開始時間2020-09-29 07:33:04 +0000
2020-09-29 15:33:04.353704+0800 test[49975:1544313] 結(jié)束時間2020-09-29 07:33:04 +0000
2020-09-29 15:33:04.353839+0800 test[49975:1544313] 時間7.212996
2020-09-29 15:33:05.463415+0800 test[49975:1544313] SB開始時間2020-09-29 07:33:05 +0000
2020-09-29 15:33:05.609531+0800 test[49975:1544313] SB結(jié)束時間2020-09-29 07:33:05 +0000
2020-09-29 15:33:05.610099+0800 test[49975:1544313] SB時間146.219969
2020-09-29 15:33:05.610673+0800 test[49975:1544313] 開始時間2020-09-29 07:33:05 +0000
2020-09-29 15:33:05.618586+0800 test[49975:1544313] 結(jié)束時間2020-09-29 07:33:05 +0000
2020-09-29 15:33:05.618816+0800 test[49975:1544313] 時間7.907987
如圖:
通過以上數(shù)據(jù)可以看出:
storyboard創(chuàng)建vc是直接創(chuàng)建uiviewcontroller時間的15~24倍匈织,(代碼創(chuàng)建的vc沒有任何控件)浪默。但使用storyboard創(chuàng)建vc一次花費(fèi)的時間最多也不到2ms,對于人來說是很難感覺出來的缀匕。相對轉(zhuǎn)場動畫和網(wǎng)絡(luò)請求纳决,創(chuàng)建vc的時間是很少的。
以上乡小,還是不要糾結(jié)通過storyboard創(chuàng)建vc耗時問題了阔加。
代碼:https://github.com/kunpo/aaa