1.Class Initialize
+ (void)initialize {
if (self == MMKV.class) {
g_instanceDic = [[NSMutableDictionary alloc] init];
g_lock = new mmkv::ThreadLock();
g_lock->initialize();
mmkv::MMKV::minimalInit([self mmkvBasePath].UTF8String);
/* 注册启动通知 */
}
}
- 不使用 dispatch_once:
直接判断
self == MMKV.class,效果相同,可以减少加锁操作耗时。