Esto es más efectivo normalmente que creando y destruyendo los objetos bajo demanda.
Un patrón de diseño object pool puede resultar útil en casos como estos.
Si un objeto previamente preparado está disponible se devuelve inmediatamente, evitando así el costo de instanciarlos.
Cuando el objeto ha sido utilizado y ya no se necesita, se devuelve al conjunto, lo que le permite ser utilizado de nuevo en el futuro sin tener que repetir el proceso de instanciación computacionalmente costoso.
En algunos casos los recursos pueden ser limitados por lo que se especifica un número máximo de objetos.