MMKV

56 阅读1分钟

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);
        
        /* 注册启动通知 */ 
    }
}
  1. 不使用 dispatch_once: 直接判断 self == MMKV.class,效果相同,可以减少加锁操作耗时。