2010-05-04 31 views
5

Rozwiązuję wiele wycieków pamięci, ale nie udało się rozwiązać tego problemu. Istnieje mnóstwo wycieków pamięci NSCF pochodzących z powodu [NSCFString substringWithRange:]. Sprawdzałem wszystkie alokacje String i wypuściłem je wszystkie w odpowiednich miejscach. Odpowiedzialna biblioteka: Fundacja.Wyciek pamięci NSCFString

Czy ktoś wcześniej napotkał ten problem? Czy ktoś może mi zaproponować, w jaki sposób powinienem skorzystać z tego problemu?

Dzięki,

Lakshmie

+2

W jakich okolicznościach to się dzieje? Czy masz próbkę kodu, która ją powiela? –

+0

Moja zła! Rozwiązałem ten problem. Ale przecież generał Block-3584 ma wyciek. Mam świadomość, że zgłoszono, że ten blok jest nieszczelny i jest błędem w ramach. Ale chciałem tylko wiedzieć, czy CTFont jest jedną z tych nieszczelnych rzeczy w ramach. CTFont -> UIKit (Odpowiedzialna biblioteka). Dzięki! – Lakshmie

+0

Blok ogólny-3584 to po prostu malloc z 3584 bajtami. Sam nie jest składnikiem żadnej struktury. Niezależnie od tego, sądząc po informacjach w sieci, wydaje się, że jest to problem z siecią CFNet i nie jest do końca jasne, że to przeciek - tylko że narzędzie Wycieki * uważa, że ​​jest to wyciek. W każdym razie ta prawdopodobnie nie jest twoją winą i możesz ją zignorować. –

Odpowiedz

3

General Block-3584 oznacza po prostu malloc 3584 bajtów. Sam nie jest składnikiem żadnej struktury. Niezależnie od tego, sądząc po informacjach w sieci, wydaje się, że jest to problem z siecią CFNet i nie jest do końca jasne, że to przeciek - tylko narzędzie Leaksa uważa, że ​​jest to przeciek. W każdym razie ta prawdopodobnie nie jest twoją winą i możesz ją zignorować. - Matt

1

użycie metod klasy NSString, takich jak [NSString stringWithString: @ "hi"] wycieknie, ponieważ pamięć nigdy nie została przydzielona - nie widzisz alokacji w tym miejscu, ya ?. Właściwym sposobem jest:

NSString *temp = [[NSString alloc] initWithString:@"hi"]; 
myIvarProperty = temp; 
[temp release]; 
+0

To nie jest właściwy sposób. Myślę, że masz na myśli 'self.myIvarProperty', w przeciwnym razie' myIvarProperty' odwoła się do czegoś, czego nie posiadasz. – dreamlax

+0

Dobra odpowiedź, ale chcę wiedzieć, dlaczego? – why