2009-04-28 7 views
0

Ich frage mich, wie viele es gibt und wo sie sind. Wie ich in einem Stanford Vid gesehen habe, ist in der Ereignisschleife einer iPhone App ein Autorelease-Pool installiert. Aber ich denke, ich habe den Punkt vermisst, wo genau das ist? Und gibt es noch weitere Autorelease-Pools, über die ich Bescheid wissen sollte?Wo sind alle vorinstallierten Autorelease-Pools in iPhone-Anwendungen?

Antwort

4

in main.m Datei (in X-Code ist es in "Andere Quellen" Ordner)

+0

ist das das einzige? – Thanks

2

der Autofreigabepool Anwendung leert jeder der Laufschleife durchlaufen. Sie können Ihren eigenen Pool überall hinzufügen, wenn Sie möchten, wenn Sie eine große Schleife haben, die eine Menge von Objekten erstellt, kann es eine gute Idee sein, einen Pool dort zu platzieren, um die Speicherauslastung zu begrenzen.

2

Jeder Thread, den Sie erstellen, benötigt einen eigenen Autorelease-Pool. Überprüfen Sie die Dokumentation für NSThread für Details.

Ihr Hauptanwendungs-Thread verwendet standardmäßig den in main.m erstellten Anwendungs-Thread. Wenn Sie nicht, wie Marc Charbonneau sagte, einen Haufen großer Operationen durchführen, müssen Sie normalerweise keine anderen erstellen. Und wenn Sie wirklich so viele Operationen machen, ist es vielleicht eine gute Idee, sie in einem separaten Thread zu machen.

Verwandte Themen