Wiem, że w głównej metodzie utworzono pulę autorelease, a wszystkie obiekty, które otrzymują komunikat autoreakcji, zostają zapisane w tej puli i zostają zwolnione po wyczerpaniu puli.Dlaczego warto korzystać z puli autoreas?
Zawsze mówi się o tym, aby unikać autorelowania obiektów w celu uniknięcia wycieków pamięci, a co za tym idzie awarii aplikacji.
To dlaczego i w jakich warunkach powinniśmy używać autoreleasepool?
Dokumentacja Apple sugeruje, że musimy z nich korzystać, gdy używamy wątków, więc na początku wątku musimy utworzyć pulę autorelease i na końcu wątku spuścić, ale co, jeśli nie tworzymy autorelease obiekt w całym wątku, a następnie w tym warunku konieczne jest również utworzenie autoreleasepool na początku wątku.
Proszę wyjaśnij moje zamieszanie. Thanx.
Czy utworzenie wątku bez puli autorelease spowoduje przeciek pamięci? –
Tak, jeśli autorelease obiekt w tym wątku i nie ma puli będziesz przeciekać. –
Ten jest kontrowersyjny. http://stackoverflow.com/questions/12575010/using-arc-is-it-fatal-not-to-have-an-autorelease-pool-for-every-thread –