iPhone rozwój - wycieki uniemożliwiające

głosy
4

Kiedy uruchomić mój app z nieszczelności i zobaczyć rozszerzone dane do jakichkolwiek przecieków, to bierze mnie do konkretnej linii w kodzie, ale nie wiem, co zrobić po tym!

Na przykład, Przecieki pokazuje malloc w tej linii

NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

Ale nie wiem, na czym polega problem w rachunku! Czy ktoś może mi powiedzieć jak interpretować takie problemy i uniknąć przecieków.

Dzięki.

Edit: W odniesieniu do poprzedniego pytania miałem, NSZombieEnabled pilnuje żadne obiekty są zwalniane, a to zwiększa zużycie pamięci. Więc kiedy testuje się przecieki, upewnij się, że ustawienie to zostanie usunięty z aplikacji. Pomyślałem, że może to komuś pomóc.

Utwórz 24/01/2009 o 06:02
źródło użytkownik
W innych językach...                            


4 odpowiedzi

głosy
3

Znaleźć odpowiedź. Odpowiedź Fredrik jest mi do myślenia. Ja tworząc wystąpienie NSURLResponse i NSError które następnie przechodzi w sposób sendSynchronousRequest. Zgodnie z dokumentem zarządzania pamięcią iPhone, to nie powinno być zrobione. Po prostu trzeba przekazać referencję do obiektów NSURLResponse i NSError do metody i sposób dba o tworzenie i zwalnianie obiektów.

Hope, który pomaga kogoś innego. Wielkie dzięki dla wszystkich odpowiedzi.

Odpowiedział 26/01/2009 o 15:24
źródło użytkownik

głosy
1

Przeciek w metodzie można wymienić przede miała być ustalona dla iPhone OS 2.2 wydaniu. Która wersja iPhone OS używasz?

Odpowiedział 24/01/2009 o 20:28
źródło użytkownik

głosy
1

Czy uwolnić odpowiedź i obiektów o błędach po wywołaniu? To są ewentualnie przydzielone w zaproszeniu.

Odpowiedział 24/01/2009 o 10:58
źródło użytkownik

głosy
1

Okienko Rozszerzone Szczegóły da stos ślady pokazując stos na nieszczelności. Ogólnie dobrym miejscem do rozpoczęcia jest spojrzeć na swoje metody i ostatniej metody kodu w stosie i zobaczyć, co robisz pamięci mądry tam, to brzmi jak można być na utrzymanie obiektu. Zacznij tam teraz

Odpowiedział 24/01/2009 o 07:04
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more