如何增强iOS Core Data保存操作性能

时间:2017-02-09 14:35:08

标签: ios iphone core-data

我有一个简单的表格,其中包含一个名为"属于Transformable的详细信息&#34 ;.

现在这个属性需要几乎每3或4秒更新一次,因为有一些监控代码会在给定时间后更新。基本上NSDictioanry对象每次都会从应用程序的不同点更新,并在Core Data中作为可转换属性进行更新。

我有用户报告电话被加热,因为我实施了这个。在我使用NSUserDefaults之前,因为数据不是那么大但是由于一些结构上的变化,我不得不把它放在核心数据中。我检查了CPU时间分析器,找不到任何其他方法的递归调用。

因此核心数据获取和保存操作每隔3到4秒就会进行一次。

我唯一能想到的是将保存操作放在AppDelegate的applicationWillTerminate中。

但我想知道是否有办法以不同的方式做到这一点。正如一些文章所建议的那样,应用程序终止可能不会被调用。有没有办法减少Fetch和保存操作的开销?

NSArray *results = [[[APPDEL managedObjectContext] executeFetchRequest:[Info fetchRequest] error:&error] mutableCopy];
    Info *userInfo = [results firstObject];
    if (userInfo.userCredentials)
    {
        userInfo.userDetails = (NSDictionary *)_globalAppCurrentStateDict;
        //[[APPDELEGATE managedObjectContext] save:nil];
    }

将保存转移至将立即终止。将检查性能。

0 个答案:

没有答案