2009-08-09 8 views
13

Ich bin nur ein Projekt mit einer Utility-Anwendung Vorlage erstellen. Diese Vorlage hat ein natives Speicherleck, wenn ich "Info-Taste" auf die Ansicht spiegeln.Iphone SDK-Dienstprogramm Anwendungsvorlage hat Leck

Wer weiß, wie kann ich dieses Leck reparieren ??? Ich mache nur ein neues Projekt aus dieser Vorlage, Ich füge keine neuen Objekte hinzu.

+0

Welche SDK-Version verwenden Sie? – Tim

+0

Ich benutze SDK 3.0 mit Xcode 3.2 auf Snow Leopard –

Antwort

13

Das könnte ein Leck sein oder es könnte kein Leck sein. Wenn Sie das Backtrace der Zuweisung hinzufügen würden, wäre das hilfreich.

Wahrscheinlicher als nicht, es ist kein Leck, aber einige Buchhaltungsinformationen, die von dyld verstaut werden, dass Lecks/Instrumente aus den Augen verliert.

Vorausgesetzt, dass es 128 Bytes ist und ich vermute, es gibt nur eine von ihnen, würde ich Sie ermutigen, einen Fehler über http://bugreport.apple.com einreichen und dann vergessen Sie es für jetzt, im unwahrscheinlichen Fall, dass es wirklich ein ist Leck, werden Sie ebenso wenig in der Lage sein, es aus Ihrer Anwendung zu beheben.

+0

Vielen Dank für Antwort! –

0

In der aktuellen SDK-Dienstprogramm Vorlage ist kein Leck. Wie hast du den Eindruck gewonnen, dass die Vorlage undicht ist? Es wird nur Speicher zugewiesen, der für die Ansichten benötigt wird.

Ein Leck ist ein Speicher, zu dem keine Zeiger existieren und der nicht mehr freigegeben werden kann.

+0

Hallo, ich bin ein neues Projekt erstellen von Utility-Anwendung Vorlage, und führen Sie es mit Instrumenten, und das Show-Me zwei Lecks. Ich bin get: GELECKT Objekt: Malloc 128 Byte Größe: 128 Bytes Verantwortlich Library: Core Graphics Verantwortlich Rahmen: open_handle_to_dylib_path –

5

Haben Sie das Leck dies zu tun:

XCode 3.2--

Datei auf Neues Projekt, Navigation-basierte Anwendung
Geben Sie ihm einen Namen Es
laufen gelassen mit Performance Tools
Bauen - > Lecks

Wenn Instrumente auftauchen, klicken Sie auf Leaks (möglicherweise müssen Sie auf das kleine Symbol am unteren Ende klicken) t sieht aus wie vier Kisten in einem Kasten)

ca. 7 Sekunden nach dem Laufen Sie das Leck sehen sollte: - Malloc 128 Bytes, einige Adresse, 128 Bytes, Core Graphics, open_handle_to_dylib_path

ich es zu diesem Code zurückverfolgt im AppDelegate:

//APPLE CODE 
- (void)applicationDidFinishLaunching:(UIApplication *)application {  

    // Override point for customization after app launch  

    [window addSubview:[navigationController view]]; 
    [window makeKeyAndVisible]; 
} 

ich die Navigation brach (tat eine separate alloc und Freigabe) und die addSubview COMMENTED oUT: Aktion - es gab kein Leck - und, natürlich, der Bildschirm war leer.

Erst nach dem Versuch von addSubview trat das Leck auf. Da es zahlreiche Möglichkeiten zum Hinzufügen einer Unteransicht gibt, habe ich diese versucht. Jeder führte zu einem Leck oder einem leeren Bildschirm.

+0

Das gleiche Leck in OS 3.1. – inked

1

Leaks hat in CoreGraphics für mich auch open_handle_to_dylib_path markiert; Es ist definitiv etwas hier markiert. Da es nur 256 Byte schwer ist, habe ich einen Fehlerbericht an Apple abgefeuert und ihn als erledigt bezeichnet. Sie können dann eine Regel in der Konfiguration von Leaks festlegen, um den Bericht zu ignorieren.

Wie Bbum darauf hingewiesen, könnte es ernsthafte Voodoo bei der Arbeit sein. Ich bezweifle ernsthaft, dass Apple durchgelaufene Frameworks QA durchlaufen lassen würde - vor allem, weil es so einfach zu reproduzieren ist.

5

Hoffe, das hilft.

Von: http://www.cocos2d-iphone.org/forum/topic/2460

„. Der Simulator hat Fehler im Zusammenhang mit Singletons und llvm Sachen, die durch Instrumente falsch gemeldet werden immer Ihre Lecks auf dem Gerät überprüfen selbst“

2

Ich habe es auf einem echten iPod Touch versucht. Es wurde kein Leck gemeldet. Wahrscheinlich nur ein Simulator Ding ...

0

Ich hatte das gleiche Problem, aber konnte verstehen, warum es passiert ist. Und ich habe eine kurze Info zu diesem Problem in diesem article

möglicherweise nützlich für Sie gegeben.