Pergunta

Sempre que eu adicionar um novo viewController minha ObjectAlloc salta muito alto e nunca volta para baixo. Mesmo depois de chamar removeFromSuperview. Isso é normal?

if((UIButton *) sender == gameArcadeBtn) {
        GameArcade *gameArcadeController = [[GameArcade alloc] 
                              initWithNibName:@"GameArcade" bundle:nil]; 
        self.gameArcade = gameArcadeController; 
        [gameArcadeController release]; 
        [self.view insertSubview:gameArcadeController.view atIndex:1];
    }
Foi útil?

Solução

Instanciando uma visão sempre cria muitas objects.As desde que essa visão está na memória ou não foi autoreleased, os objetos serão permaneceu alloced na memória. Assim, para responder sua pergunta, isso é normal.

Parece que você está preocupado com o uso da memória e ao mesmo tempo é importante para assistir as alocações de objeto para que ele não fique muito é mais importante encontrar seus vazamentos de aplicativos.

Algumas dicas de gerenciamento de memória:
1) fazer o carregamento lento. Apenas carregar seus pontos de vista quando o usuário pede para eles, nem todos no início do aplicativo
2) Remova tudo o que você pode possivelmente quando você não é mais necessário. Isso significa fazer toneladas de trabalho em viewWillAppear e viewDidDisappear
3) aprender sobre @properties e como se relaciona com autoreleasing, e não usar propriedades para tudo.
4) Como atraente como ela é, disparo automático evitar e solte manualmente os objetos quando você não precisa mais deles.

Outras dicas

isso é provavelmente devido ao fato de que você ainda está retendo o controlador da vista na classe. tentar liberar essa

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top