2010-05-20 2 views
6

Meine App hat einen Thread, der einige zeitaufwendige Arbeit für mehr als eine Minute dauert und die App verbraucht rund 6,8 ​​MB Speicher. Ich bekomme nach einiger Zeit eine Erinnerung und wird dann getötet. Es gibt nichts, was ich loslassen kann, und ich benutze nicht einmal 7MB Speicher ... macht mich verrückt ... irgendeinen Rat bitte?Meine iPhone App wird Speicher Warnung und getötet bei 6,8 MB

+0

Verwenden Sie einen Debugger oder ein Speicherleck-Tool. http://stackoverflow.com/questions/172125/avoiding-finding-and-removing-memory-leaks-in-cocoa –

+0

Stellen Sie außerdem sicher, dass Sie auf dem Gerät und nicht nur den Simulator testen. – rickharrison

+0

Ich führe es auf dem Gerät; Im Simulator bekomme ich keine Speicherwarnung, es sei denn ich simuliere es. Wenn die App stirbt, sagt gdb das ... Programm beendet mit Signal 0, Signal 0. Also ist es das Betriebssystem, das meine App tötet. Es braucht nur 7MB Speicher und trotzdem bringt das Betriebssystem es um !!! Neustarten des Gerätes hilft auch nicht, kann mir etwas fehlen? "Leak" zeigt kein Leck und konstante Nutzung von 6,8 MB Speicher. – Abix

Antwort

1

Ich weiß immer noch nicht, warum es passiert, aber jetzt habe ich einen Workaround gefunden. Anstatt diesen Job in einem Thread auszuführen, wenn ich ihn im Hauptthread ausführe, erhalte ich weder eine Speicherwarnung, noch wird er getötet. Aber dann kann ich den Fortschritt in der Benutzeroberfläche nicht anzeigen. Ich werde NSTimer dazu benutzen.

2

Vielleicht ist Ihr Speicher superfragmentiert? Selbst 7 MB voller Datenverlust sollten Ihre App nicht zerstören. Sie sollten mindestens 20MB zum Spielen haben. Versuchen Sie, das Telefon neu zu starten, und sehen Sie, ob das hilft.

Verwandte Themen