/ / Xcode App, mit oder ohne Müllabfuhr, - Macos, Kakao, Müllabfuhr, Objective-C ++

Xcode App, mit oder ohne Garbage Collection, - Macos, Kakao, Müllsammlung, objective-c ++

Kann mir jemand sagen, die richtige Verwendung von Garbage Collection aktivieren, im Grunde bin ich nicht in der Lage zu verstehen, folgende,

1 - Ich arbeite an einer Drittanbieteranwendung.die Garbage Collection aktiviert hat, 2 - Nur zum Experimentieren habe ich den Garbage Collector deaktiviert und mit dem Garbage Collector "Unsupported" kompiliert. 3 - Ich baue die Anwendung, aber wenn ich versuche, die gleiche auszuführen, ist es fehlerhaft und geben

Program received signal:  “EXC_BAD_ACCESS”

Könnte nur ein Problem in der Anwendung sein,Ist es eine gute Praxis, mit dem Garbage Collector fortzufahren, oder deaktivieren Sie ihn und versuchen Sie, alle derartigen Fehler zu beheben?

Außerdem führt die Verwendung der Garbage Collection zu einem zusätzlichen Speicherüberlauf.

Antworten:

2 für die Antwort № 1

Kann mir jemand sagen, die richtige Verwendung von Garbage Collection aktivieren, im Grunde bin ich nicht in der Lage zu verstehen, folgende,

1 - Ich arbeite an einer Drittanbieteranwendung.Die Garbage Collection wurde aktiviert. 2 - Nur zum Experimentieren habe ich den Garbage Collector deaktiviert und mit dem "nicht unterstützten" Garbage Collector kompiliert

Program received signal:  “EXC_BAD_ACCESS”

Gut, warte. Versuchen Sie es zu aktivieren oder zu deaktivieren? Zuerst sagen Sie, Sie möchten wissen, wie es aktiviert wird, aber dann wird in Ihrer Liste der Schritte angegeben, dass es bereits aktiviert wurde und Sie es deaktiviert haben.

Vom Müll gesammelter Code und Code mit Referenzzählungsind anders. Es ist nicht möglich, Code zu verwenden, der so geschrieben wurde, dass er GC erwartet, unter Referenzzählung kompiliert und funktioniert. Wenn er überhaupt kompiliert wird, ist ein Absturz in der Tat das wahrscheinlichste Ergebnis. )

Sie könnten versuchen, nach ARC zu konvertierenweniger Unterschiede als bei der alten manuellen Referenzzählung. Der GC-Code, der mit dem GC kompiliert wurde, ist jedoch zumindest vorerst noch vollständig gültig. Die „Fehler“, die angezeigt werden, wenn Sie GC-Code ohne GC ausführen, sind keine Fehler, wenn GC aktiviert ist.

Daher ist es wahrscheinlich am besten, die GC aktiviert zu lassen, zumindest bis Sie mit dem Code und der Sprache besser vertraut sind.


1 für die Antwort № 2

Wenn das Projekt bereits in einem Garbage gesammelt istDann sollten Sie es weiter verwenden - es sei denn, Sie möchten wirklich den gesamten Code durchgehen und den Speicher verwalten. Was wäre am Ende der Nutzen? Es kann zu Geschwindigkeitsverbesserungen kommen, die sich von GC entfernen. Bei den meisten Apps werden sie jedoch nicht bemerkt. Je nach Größe des Projekts kann es sehr lange dauern, bis es ordnungsgemäß ausgeführt wird. Sie erhöhen auch die Wahrscheinlichkeit von Fehlern.

Wenn es sich bei der App nur um eine Lion-App handelt, können Sie in Betracht ziehen, von GC zu ARC zu wechseln, obwohl die Integration auch einige Zeit in Anspruch nimmt.

Wenn Sie es noch nicht getan haben, empfehle ich Ihnen zu lesen Programmierhandbuch für die Garbage Collection von Apple.