Instrumenty (przecieki) i NSDateFormatter
Kiedy uruchamiam aplikację na iPhone'a z Instruments Leaks i analizuję kilka NSDate za pomocą NSDateFormatter, moja pamięć rośnie o 1mb i pozostaje, mimo że te NSDaty powinny być zwolnione po analizie (po prostu odrzucam je, jeśli nie są nowe).
Pomyślałem, że malloc (w moim najcięższym śledzeniu stosu poniżej) może stać się częścią NSDate, ale pomyślałem też, że może to być pamięć, która jest używana tylko podczas jakiegoś pośredniego kroku w parsowaniu. Czy ktoś wie, który to jest lub jak się dowiedzieć?
Czy istnieje sposób na umieszczenie punktu przerwania w NSDate dealloc, aby sprawdzić, czy ta pamięć rzeczywiście została odzyskana?
Oto, jak wygląda mój program do formatowania dat do analizowania tych dat:
df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"EEE, d MMM yyyy H:m:s z"];
Oto ślad najsilniejszego stosu, gdy pamięć wstaje i pozostaje tam:
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:]
Dzięki!