Pergunta

Eu li sobre esta função didReceiveMemoryWarning Isso realmente não ajudou. Gostaria de mostrar uma visão do UIALERT para dizer ao usuário que a ação que ele está prestes a tomar levará a problemas com a memória.

Além de travar, que é uma maneira desagradável de informar o usuário que há um aviso de memória recebido, existe uma possível implementação de um UIALERTVIEW?

Foi útil?

Solução

Na sua classe Delegate Application (por exemplo, MyApplicationAppDelegate.m) implementa o método DidReceiveMemoryWarning:

- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application
{
  // Show an alert
  UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Warning"
                                                  message:@"Running low on memory"
                                                 delegate:nil
                                        cancelButtonTitle:@"OK"
                                        otherButtonTitles:nil];

  [alert show];
  [alert release];
}

Outras dicas

Pheelicks deu uma boa resposta à sua pergunta, mas isso definitivamente não é o que você deseja fazer. Quando você recebe esse aviso, você já está em baixa condição de memória. O que você deseja fazer quando receber esse aviso é a liberação do máximo de memória possível. Como imagens grandes que você pode manter na memória, grandes matrizes de corda ou qualquer outro objeto grande. Os instrumentos o ajudarão muito a encontrar os culpados.

Além disso, você também deseja implementar o didreceiveMemorywarning em qualquer controlador de visualização que aloca muita memória para que eles possam fazer alguma limpeza lá em cima também

Espera que isso ajude :)

A ação que ele está prestes a tomar levará a problemas com a memória

Se houver alguma ação que você conheça do usuário que levará a problemas de memória, você deve impedi -los de tomar essa ação ou apenas avisá -los quando eles estiverem prestes a tomar a ação (com um alerta).

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