Alerta de memória do iPhone
-
22-09-2019 - |
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?
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).