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启动卡顿的。
冷启动的卡顿优化方案可以参考:
iOS App 启动性能优化
iOS-Performance-Optimization
iOS 性能检测