#原理
#监控
Instruments - System Trace - 启动检测 - 停止
1、Thread:Main Thread
2、选择对应Demo的Main Thread
3、点击Narrative - Summary:Virtual Memory
-File Backed Page In:page fault
优化:
Target -> Build Setting -> Custom Complier Flags -> Other C Flags:
-fsanitize-coverage=func,trace-pc-guard
Target -> Build Setting -> Custom Complier Flags -> Other Swift Flags:
-sanitize-coverage=func
-sanitize=undefined
`#ifdef DEBUG
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
[CallOrderTool performSelector: @selector(dumpSymbols) withObject:nil afterDelay:1];
});
#endif`
Target -> Build Setting -> Linking -> Order File - order file路径
Target -> Build Setting -> Linking -> Write Link Map File 设置为 YES
Target -> Build Setting -> Linking -> Path to Link Map File:
~/Developer/Xcode/DerivedData/项目/Build/Intermediates.noindex/项目.build/Debug-iphonesimulator/项目.build/项目-LinkMap-normal-x86_64.txt
Symbols 部分
Address:方法代码的地址
Size:方法占用的空间 文件里面的方法符号
Symbols 部分的 File 顺序是和 Target -> Build Phase -> Compile Sources 的文件顺序一致的。
缺页中断优化:juejin.cn/post/684490…