Sé que hay un grupo de autorrelease creado en el método principal y todos los objetos que reciben mensaje de liberación automática se almacenan en este grupo y se liberan cuando el grupo se agota.¿Por qué utilizar Autorelease pool?
Pero siempre se dice que evita la autorrellencia de objetos para evitar pérdidas de memoria y, a su vez, bloqueos de aplicaciones.
¿Entonces por qué y en qué condiciones debemos usar autoreleasepool?
Los documentos de Apple sugieren que debemos usarlos cuando estamos usando subprocesos, por lo que al principio de un subproceso necesitamos crear un grupo de autorrelease y al final del subproceso drenarlo, pero ¿qué ocurre si no estamos creando una liberación automática? objeto en el hilo completo, entonces en esa condición también es necesario crear un grupo de liberación automática al comienzo del hilo.
Por favor, elimine mi confusión. Gracias.
¿La creación de un subproceso sin grupo de autorrelleno provoca la pérdida de memoria? –
Sí, si sueltas automáticamente un objeto en ese hilo y no hay grupo, tendrás una fuga. –
Ese es controvertido. http://stackoverflow.com/questions/12575010/using-arc-is-it-fatal-not-to-have-an-autoreleasepool-for-every-thread –