转载

iOS热启动卡顿优化方案

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

也可以通过工具检测:

https://github.com/suifengqjn/PerformanceMonitor

正文到此结束
Loading...