Frage

Meine app stürzt nach etwa 20 Minuten mit dem Status 101 (Nicht genügend Speicher, glaube ich)

Debugging unter Verwendung von Instrumenten - ObjectAlloc und Leaks gibt mir keine Anhaltspunkte. Die ObjectAlloc Graph bleibt auf einem schönen konstanten Niveau von rund 1 Million Bytes (1 MB), wie die Net # der Zuweisungen der Fall ist. Ich habe loswerden alle Lecks bekommt.

Ich dachte, es etwas mit der Anzahl der Threads zu tun sein könnte, aber die grafische Darstellung diese in ObjectAlloc zeigt sie auch konstant sein.

Kann mir jemand in Richtung eines anderen Werkzeugs zeigen, oder einen anderen Weg der Untersuchung?

War es hilfreich?

Lösung

Fix alles Clang findet. LLVM Clang Static Analysis

Andere Tipps

Beachten Sie, dass durch das System zugeordneten Objekte (und das schließt Dinge wie Bilder und Töne) nicht in Instruments verfolgt erhalten (obwohl die oberste Ebene behalten zählt zu tun, natürlich). So ist es machbar, dass Sie Bilder einlegen, sagen, was nicht viel auf der Speichernutzung als Show beitragen, kann aber eine Menge tatsächlicher Speicher Drain!

Wenn nichts davon irgendwelche Akkorde trifft, könnten Sie den subtraktiven Debug-Ansatz versuchen - (nehmen Sie eine Kopie Ihres Projekts) ausgeschnitten Stücke von Funktionalität, bis das Problem verschwindet oder man bekommt die kleinste mögliche Sache, die es wiedergibt. Das sollte zumindest helfen, Sie zu finden, wo der Engpass ist. Zwar wird dies schwierig sein, (a), weil man 20 Minuten warten müssen würde oder so jedes Mal testen (aber wenn Sie diese ein Hintergrundverfahren machen es ist nicht so schlimm) und (b), weil die Art der Gedächtnisprobleme ist, dass es kann nicht eine einzige Ursache sein, aber eine kritische Masse von kleineren Ursachen.

Viel Glück!

Meine Erfahrungen mit Object Alloc haben nicht so groß gewesen. Es muss nicht immer gibt Ihnen den tatsächlichen Speicher von der Anwendung verwendet wird.

Verwenden Sie stattdessen Objekt Alloc mit Activity Monitor. Stellen Sie sicher, dass Sie den „Physical Memory Free“ verwenden und „Physical Memory verwendet“ Optionen im Aktivitätsmonitor. Das wird Ihnen genau sagen, wie viel Speicher Ihre Anwendung verwendet.

Was meinst du mit „nice Niveau“. Es ist nicht im Laufe der Zeit steigen, überhaupt? Wie viel Speicher insgesamt -. Es könnte nur das Telefon sein muss etwas Speicher für eine andere App und deines ist ein wenig zu groß bleiben

Der Fehlercode 101 bedeutet, dass iPhone OS Kraft App beenden. Wenn Sie UIImageViews in Ihrer Anwendung verwenden, müssen Sie auf sich den Speicher verwalten. Ich habe festgestellt, dass, wenn meine Anwendung über 10/12 MB geht, das iPhone beendet sie.

Wenn Sie keine Bildansichten (oder Bilder) verwenden, dann Ihre Backend-Code wird zu viel Platz auffressen.

Alles, was ich sagen kann, ist, Sie brauchen mehr sorgfältig auf Ihrer Zuordnung suchen und verwalten, welche Ansichten Sie zu jeder Zeit in Erinnerung behalten.

Führen Sie Ihre Anwendung in Instruments (Run -> Start mit Performamce Tool -> Leaks). Zu sehen, wo Ihr Speicher zugewiesen wird immer

Hope, das hilft!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top