Beste Ansatz, um zu Debuggen applicationDidReceiveMemoryWarning auf dem iPhone?
Brauchen Sie Rat auf, wie zu Debuggen. Ich bin neu mit begrenzten Umgebungen und haben keine früheren embedded-oder-smart-phone-Programmierung Erfahrung, so könnte ich einige Hinweise.
Bereits bekannt:
Instrumente, Lärmmacher, Statische Analyse, die manuelle code-überprüfung, etc. Instrumente scheint sehr hilfreich sein, im Allgemeinen aber sehr zeitaufwendig und setzt viel Zeit! Lärmmacher hat mir auch geholfen, eine Menge wie auch. Wie es scheint bin ich einfach nur zu viel Speicher verbraucht im Allgemeinen und ich Frage mich, was eine gute Strategie ist. Tun ich release einige top-level-Objekte? Gibt es eine "bevorzugte Strategie"?
Frage mich, ob jemand hat dies erfolgreich in Angriff genommen und wenn Sie haben irgendwelche anderen Vorschläge? Vielen Dank an alle.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es viele gute Artikel für die Speicherverwaltung in einer iPhone-app. Hier werden einige nützliche links.
Dinge, die Sie sollten im Allgemeinen kümmern
didReceiveMemoryWarning
aus und lassen Sie alle Variablen, die nicht in GebrauchapplicationDidReceiveMemoryWarning
wie audio/video-Wiedergabe, UIImagePickerController etcBEARBEITEN
Dies gilt nicht mehr.
imageNamed:
hatten caching-Probleme vor der 3.x-OS-Versionen. Das Problem existiert nicht mehr, und sollten Sie imageNamed: (vereinfacht die Implementierung von retina-display, einfacher)imageNamed:
zu erstellen UIImage Objekte.Du bist im Grunde erhalten diese Warnung, weil (wenig überraschend) das iPhone ist gefährlich niedrig auf den Speicher. Diese können in der Regel aus einem von zwei Gründen;
Für die erste sollten Sie ausführen, Instrumente und überprüfen Sie Ihre Speicher-Zuweisungen. Dies kann wirklich verlangsamen Ihre app (und zusätzlichen Speicher benötigt), so testen Sie Bereiche Ihrer app zu einem Zeitpunkt. E. g. wenn Sie mehrere Ansichten zwischen Ihnen wechseln ein paar mal.
Für die zweite, die Sie wird zu prüfen haben, Dinge, die Sie tun, das könnte dazu führen, dass große speicherreservierungen. Zum Beispiel, wenn Sie schreiben, ein Flickr-browser müssen Sie möglicherweise reduzieren die Anzahl der Bilder, die Sie geladen haben, zu jeder Zeit, oder frei unbenutzt sind, wenn Sie diese Warnung erhalten.
Diese sind über die nur die Allgemeinen Regeln, die ich vorschlagen kann, ohne zu wissen, mehr über Ihre app.
Leider gibt es keine wirkliche Möglichkeit (die ich kenne), um die zahlen für den aktuellen Speicher-Zuweisung aus dem iPhone OS. Das macht es wirklich schwierig zu isolieren, die die Bereiche Ihrer Anwendung, die unbeabsichtigt Speicher hungrig.