我正在尝试改善我的应用程序启动时间,而核心数据占用了大部分时间。在应用程序:应用程序didFinishLaunchingWithOptions:launchOptions上,我通常告诉我的核心数据处理程序加载模型,创建上下文,然后是持久存储。由于该应用程序启动后,我需要开始使用数据库内容。
实际上代码不多,占用大部分时间的两行是:
_managedObjectModel = [NSManagedObjectModel mergedModelFromBundles:nil];
[_persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeUrl options:options error:&error]
所以我想知道是否可以添加任何优化,使我的核心数据上下文启动更快,到目前为止,似乎没有什么可做的,因为它必须加载和解析核心数据模型,然后在持久存储中加载 sql 文件。
只需在另一个线程上设置核心数据。当然它不会更快,但 UI 响应更快。