2009-01-25 11 views
8

Wenn ich versuche, Lecks meiner iPhone App mit Instrumenten zu überprüfen, ist alles in Ordnung. Die gleiche App auf dem tatsächlichen realen Gerät zeigt dieses Leck einige Male während des App-Starts. Es ist ziemlich unbestimmt und es passiert in Systembibliotheken. Ich habe versucht, googlen Sie die Lösung ohne ein Glück. Wer hat die gleichen Probleme? Wer kennt die Lösung?Leck - GeneralBlock-3584

Ich finde interessant, dass jeder meiner Leckcode die App früher oder später zum Absturz bringen wird. Diese GeneralBlock-3584-Lecks halten App perfekt stabil. Könnte dies der Grund für die Ablehnung von AppStore sein?

Vielen Dank für jede Antwort in Bezug auf dieses undokumentierte Problem (Apple ist leise leider).

Antwort

6

Lecksuche-Tools können oft falsche positive Ergebnisse liefern, insbesondere in den zugrunde liegenden Systembibliotheken.

Ich bin vertraut mit diesen "durchgesickerten" GeneralBlocks, und sie haben meiner Erfahrung nach keine App Store Ablehnung.

IANAASRW **, aber ich denke, dir geht es gut.

** Ich bin nicht ein App Store Bewertung Wizard

0

Es gibt Lecks in dem Apple-Frameworks. Insbesondere die HTTP-Klassen. Sie sollten einen Radarfehlerbericht erstellen.

8

Sie haben nichts zu befürchten, dies ist falsch positive von Instrumenten.
Es hat damit zu tun, Ressourcen des Threads freizugeben, der beendet wurde. Sie bleiben einfach stehen, bis der nächste Thread fertig ist, und bereinigt Ressourcen nach demjenigen, der zuvor beendet wurde. Instrumente nehmen dies für ein "Leck", aber es ist ein Merkmal der Pthreads-Implementierung auf dem iOS, das in der perfekten Welt anders gehandhabt würde. Mehr dazu auf dem Apple Dev-Forum here und here.

0

Haben Sie UserDefaults, die Sie nicht in die Einstellungen zur Initialisierung während dieser, "ersten Male", Sie Ihre App ausgeführt haben?

Ich sah das gleiche Problem - app war (relativ) sauber auf dem neuesten Xcode/Simulator (das übliche Paar von 128 Byte mallocs waren da - aber das ist ein reines Simulatorproblem mit UIViews). Sobald ich es auf einem iPod Touch lief, sah ich das GB3584.

Nachdem jedoch in Einstellungen gegangen und eine Einstellung (die die Speicherung * erzwang) geändert wurde, ging das Problem weg.

  • Ich verwende Apple-Beispielcode für UserDefaults richtig, diese Einstellungen zu lesen, ohne vorher gehen und etwas ändern.

Also, es kann sehr gut nichts sein. Wenn Sie bestätigen können, dass ein Besuch bei Settings es aufräumte, werden wir wissen, wo wir anfangen sollten, nach Lecks zu suchen (oder wo wir Apple anweisen sollten, nachzusehen).