1.按下home键的时候,iOS APP还存存在一段时间,这时点击APP马上就能恢复到原状态,这种启动我们称为热启动。
2.相对而言冷启动就是App被kill掉以后一切从头开始启动的过程。
热启动优化方案:
1.数据优化,将耗时操作做异步处理。
dispatch_queue_t globalQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); dispatch_async(globalQueue, ^{ //子线程异步执行IO任务,防止主线程卡顿 dispatch_queue_t mainQueue = dispatch_get_main_queue(); //异步返回主线程,根据获取的数据,更新UI dispatch_async(mainQueue, ^{ NSLog(@"根据更新UI界面"); }); });
2.检查NSUserDefaults的存储,NSUserDefaults实际上是在Library文件夹下会生产一个plist文件,加载的时候是整个plist配置文件全部load到内存中。所以非常频繁的存取大量数据也是有可能导致APP启动卡顿的。
冷启动的卡顿优化方案可以参考:
https://mp.weixin.qq.com/s/Kf3EbDIUuf0aWVT-UCEmbA
https://github.com/skyming/iOS-Performance-Optimization
也可以通过工具检测: