我正在开发一个小型的业务应用程序,并且遇到了一个奇怪的内存问题,这个问题只有在使用Core Data和iCloud的时候才会出现。 如果我切换应用程序使用本地存储,随着时间的推移内存使用情况就好(通常17-18Mb)。 当我使用iCloud的应用程序,应用程序不断地使用越来越多的内存(每秒添加大约4-5Mb),直到它崩溃。 我已经做了一些与仪器分析,但无法弄清楚为什么会发生这种情况。 有没有人有任何想法如何开始寻找解决scheme? 下面是一个屏幕截图,显示了应用程序使用了多less内存,以及如何增长是线性的。 截图后,该应用程序崩溃了几秒钟。 以下是来自Core Data堆栈设置的一些代码。 NSString *iCloudEnabledAppID = @"iCloudData"; NSString *dataFileName = @"Moviedo.sqlite"; NSString *iCloudDataDirectoryName = @"Data.nosync"; NSString *iCloudLogsDirectoryName = @"Logs"; NSFileManager *fileManager = [NSFileManager defaultManager]; NSURL *iCloud = [fileManager URLForUbiquityContainerIdentifier:nil]; NSPersistentStoreCoordinator *psc = self.managedObjectContext.persistentStoreCoordinator; NSString *iCloudData = [[[iCloud path] stringByAppendingPathComponent:iCloudDataDirectoryName] stringByAppendingPathComponent:dataFileName]; NSURL *iCloudLogsPath = [NSURL fileURLWithPath:[[iCloud path] stringByAppendingPathComponent:iCloudLogsDirectoryName]]; NSURL […]