Wenn ich versuche, die 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, die Lösung ohne Glück zu googeln. Wer hat die gleichen Probleme? Wer kennt die Lösung?
Ich finde es interessant, dass jeder Code, der mich austricksen lässt, die App früher oder später zum Absturz bringen wird. Diese GeneralBlock-3584-Lecks halten App perfekt stabil. Könnte dies ein Grund für die Ablehnung von AppStore sein?
Danke für jede Antwort bezüglich dieses undokumentierten Problems (Apple ist leider still).
Lecksuche-Tools können oft falsche positive Ergebnisse liefern, insbesondere in den zugrunde liegenden Systembibliotheken.
Ich bin mit diesen "durchgesickerten" GeneralBlocks vertraut und sie haben meiner Erfahrung nach keine App Store-Ablehnung verursacht.
IANAASRW **, aber ich denke, es geht dir gut.
** Ich bin kein App Store-Überprüfungsassistent
Sie haben nichts zu befürchten, das ist falsches Positiv 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 hier und hier .
Es gibt Lücken in den Apple-Frameworks. Insbesondere die HTTP-Klassen. Sie sollten einen Radarfehlerbericht erstellen.
Haben Sie UserDefaults, die Sie noch nicht in die Einstellungen übernommen hatten, um diese zu initialisieren, "in den ersten paar Fällen", haben Sie Ihre App ausgeführt?
Ich sah das gleiche Problem - app war (relativ) sauber auf dem neuesten Xcode / Simulator (das übliche Paar von 128 Byte mallocs waren dort - aber das ist ein reines Simulatorproblem mit UIViews). Sobald ich es auf einem iPod Touch lief, sah ich das GB3584.
Nachdem wir jedoch Einstellungen vorgenommen und eine Einstellung geändert hatten (was das Speichern * erzwang), ging das Problem verloren.
Also, es kann sehr gut nichts sein. Wenn Sie bestätigen können, dass ein Besuch bei Settings es bereinigt hat, werden wir wissen, wo wir anfangen sollten, nach Lecks zu suchen (oder wohin Apple Apple schicken soll).
Tags und Links memory-leaks iphone cocoa-touch instruments