i Coredata (zum ersten Mal verwendet wird) verwenden für das Speichern von großen amout von Daten (Bilder, Video Pfaden, HTML Text) wenn ich Daten am Holen mit prdicate fetchRequest NSArray Speichernutzung erhöht 10 zu 15 mb jedes Mal. Manchmal wird es überqueren 400-500mb..app verlangsamen, aber nicht abgestürztCoredata Datenabruf erhöht Speicher ios verwendet
ich möchte wissen, ist es normalerweise in der Kerndatenbank? gibt es eine Methode zum Abrufen von Daten ohne Erhöhung der Speichernutzung.?
wenn nicht dann wie kann ich dieses Problem lösen. Wenn jemand den Grund oder eine Idee kennt, bitte teilen.
Mein Code ist unten
gezeigt-(void)GetDatafromPrimaryKey:(NSString *)PrimaryKeyTxt EntityName:(NSString *)EntityName {
NSError *error = nil;
NSFetchRequest *fetch = [[NSFetchRequest alloc] init];
NSEntityDescription *entityDescription = [NSEntityDescription entityForName:EntityName inManagedObjectContext: context];
[fetch setEntity:entityDescription];
[fetch setPredicate:[NSPredicate predicateWithFormat:@"primaryKey == %@",PrimaryKeyTxt]];
// [fetch setIncludesPropertyValues:NO];
[fetch setShouldRefreshRefetchedObjects:NO];
chatAry = [context executeFetchRequest:fetch error:&error];
NSLog(@"---> %lu",(unsigned long)chatAry.count);
if (error != nil) {
// Deal with failure
}
else {
}
}
Sie sollten Bild und Videos im Anwendungsverzeichnis anstelle von Kerndaten speichern und Pfad-URL dieses Bild Videos in Kerndaten speichern ... andere weise Speichern einer großen Menge von Bildern und Videos in Kerndaten wird mehr Speicher verbrauchen als es insgesamt Bild und Video im Speicher einmal, um es zu Kerndaten zu speichern –
@Sharma Herr, ich habe DocumentsDirectory vorher..aber das Ergebnis ist gleich. Speicher erhöht :( –
mit 'sqlite' ist ein empfohlener Weg, um große Datenmengen innerhalb der App zu handhaben und es ist am meisten bevorzugt Weg auch. – vaibhav