iOS NSUserDefaults 卡顿

2021-04-29  本文已影响0人  天空中的球

之前对 NSUserDefaults 有过synchronize阻塞调用线程的疑问,但没注意到其读取也是会导致卡顿的

Bugly 记录
一、卡顿原因
二、ToDo
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0),^{
    // NSUserDefaults
    dispatch_async(dispatch_get_main_queue(), ^{
        // DO TO 
    });
});
三、另外对于 NSUserDefaultssynchronize 的方法也注意下用法:

因此对于 NSUserDefault,既要要注意其底层实现中存在直接或者间接的跨进程通信,在主线程同步调用容易发生卡死; 也注意 synchronize 已被弃用。

上一篇 下一篇

猜你喜欢

热点阅读