Instrumentos (vazamentos) e NSDateFormatter
Quando eu executo meu aplicativo para iPhone com vazamentos de instrumentos e analiso um monte de NSDates usando NSDateFormatter minha memória sobe cerca de 1mb e permanece mesmo que esses NSDates devam ser desalocados após a análise (eu apenas os descarto se eles não são novos).
Eu pensei que o malloc (no meu mais pesado stack trace abaixo) poderia se tornar parte do NSDate, mas eu também achei que poderia ser a memória que só usava durante algum passo intermediário na análise. Alguém sabe qual é ou como descobrir?
Além disso, existe uma maneira de colocar um ponto de interrupção no dealloc NSDate para ver se essa memória está realmente sendo recuperada?
Aqui está o formato do meu formatador de datas para analisar essas datas:
df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"EEE, d MMM yyyy H:m:s z"];
Aqui está o traço de pilha mais pesada quando a memória bate e fica lá:
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:]
Obrigado!