Instrumentos (Fugas) y NSDateFormatter
Cuando ejecuto mi aplicación de iPhone con Instruments Leaks y analizo un montón de NSDates usando NSDateFormatter, mi memoria aumenta aproximadamente 1mb y permanece aunque estas NSDates deben ser desasignadas después del análisis (simplemente las descarto si no son nuevas).
Pensé que el malloc (en mi rastro más grande de pila abajo) podría convertirse en parte del NSDate pero también pensé que podría ser la memoria que solo se usó durante un paso intermedio en el análisis. ¿Alguien sabe cuál es o cómo averiguarlo?
Además, ¿hay una manera de poner un punto de interrupción en el dealloc de NSDate para ver si realmente se está reclamando esa memoria?
Así es como se ve mi formateador de fechas para analizar estas fechas:
df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"EEE, d MMM yyyy H:m:s z"];
Aquí está la traza de la pila más pesada cuando la memoria se acumula y permanece allí:
0 libSystem.B.dylib 208.80 Kb malloc
1 libicucore.A.dylib 868.19 Kb icu::ZoneMeta::getSingleCountry(icu::UnicodeString const&, icu::UnicodeString&)
2 libicucore.A.dylib 868.66 Kb icu::ZoneMeta::getSingleCountry(icu::UnicodeString const&, icu::UnicodeString&)
3 libicucore.A.dylib 868.67 Kb icu::ZoneMeta::getSingleCountry(icu::UnicodeString const&, icu::UnicodeString&)
4 libicucore.A.dylib 868.67 Kb icu::DateFormatSymbols::initZoneStringFormat()
5 libicucore.A.dylib 868.67 Kb icu::DateFormatSymbols::getZoneStringFormat() const
6 libicucore.A.dylib 868.67 Kb icu::SimpleDateFormat::subParse(icu::UnicodeString const&, int&, unsigned short, int, signed char, signed char, signed char*, icu::Calendar&) const
7 libicucore.A.dylib 868.67 Kb icu::SimpleDateFormat::parse(icu::UnicodeString const&, icu::Calendar&, icu::ParsePosition&) const
8 libicucore.A.dylib 868.67 Kb icu::DateFormat::parse(icu::UnicodeString const&, icu::ParsePosition&) const
9 libicucore.A.dylib 868.67 Kb udat_parse
10 CoreFoundation 868.67 Kb CFDateFormatterGetAbsoluteTimeFromString
11 CoreFoundation 868.67 Kb CFDateFormatterCreateDateFromString
12 Foundation 868.67 Kb -[NSDateFormatter getObjectValue:forString:range:error:]
13 Foundation 868.75 Kb -[NSDateFormatter getObjectValue:forString:errorDescription:]
14 Foundation 868.75 Kb -[NSDateFormatter dateFromString:]
¡Gracias!