Como observar os avisos de pouca memória no seu aplicativo ios

Mesmo se você tiver feito tudo corretamente, em um grande aplicativo iOS, você pode simplesmente ficar sem memória. Quando essa situação ocorre, o sistema envia uma notificação de pouca memória para a sua aplicação - e é algo que você deve prestar atenção. Se não o fizer, é uma receita confiável para o desastre. UIKit

oferece várias maneiras para que você possa configurar o aplicativo para que você receba oportunas notificações de pouca memória:

Video: iOS 10 New Messages App Full Walk Through

  • Substituir os métodos didReceiveMemoryWarning no seu costume UIViwComtroller subclasse.

    Video: Liberar espaço no iPhone sem apagar NADA!

  • Implementar o applicationDidReceiveMemoryWarning: método do seu delegado aplicação.

    Video: Como liberar espaço no seu iPhone sem apagar nada!

  • Registre-se para receber a UIApplicationDidReceiveMemoryWarningNotification: notificação.

O método didReceiveMemoryWarning

o didReceiveMemoryWarning método é enviado para o controlador de vista quando o aplicativo recebe um aviso de memória. A implementação deste método deve fazer qualquer coisa que puder para reduzir seu uso de memória. Isto pode envolver medidas drásticas, como vistas na verdade fechamento, mas há muitos outros passos que você pode tomar que depender do seu controlador de vista específico e seus pontos de vista.

Por exemplo, se você tem dados e objetos armazenados, eles podem ser capazes de ser removido e definir a zero se você pode recriá-los, conforme necessário.

O applicationDidReceive MemoryWarning: Método

O delegado aplicativo deve definir quaisquer referências a objetos que ele pode com segurança livre para nada.

O UIApplicationDidReceiveMemory WarningNotification: Notificação



notificações de pouca memória são enviados para o Centro de Notificação, onde todas as notificações são centralizadas. Um objeto que quer ser informado sobre quaisquer notificações se registra para o Centro de Notificação, dizendo que a notificação que quer ser informado sobre, e uma quadra a ser chamado quando a notificação é levantada. Em vez de um bloco, você pode fornecer um método alvo a ser chamado.

Um objeto de modelo, por exemplo, poderia, então, liberar estruturas de dados ou objetos de sua propriedade que ele não precisa de imediato e pode recriar posteriormente, definindo referências a nada.

Para aqueles de vocês que estão curiosos, em seu objeto modelo, você pode adicionar o seguinte:

[[NSNotificationCenter defaultCenter] addObserverForName: UIApplicationDidReceiveMemoryWarningNotificationobject: [UIApplication sharedApplication] fila: nilusingBlock: ^ (* NSNotification notificação) {//seu código aqui}] -

Você pode testar applicationDidReceiveMemoryWarning: e UIApplicationDidReceiveMemoryWarningNotification: No simulador, escolhendo Hardware → Simulate memória Aviso.

Escolher a estratégia de gerenciamento de memória certo para sua aplicação

Cada uma destas estratégias dá uma parte diferente do seu aplicativo a chance de liberar a memória já não precisa (ou não precisa agora). Como você realmente obter essas estratégias de trabalho para você depende de arquitetura do seu aplicativo, então você vai ter que explorar isso em seu próprio país.

Video: Como aumentar a memória RAM do seu PC (Sem Programas)

Não liberar memória suficiente resultará em iOS enviar sua aplicação a applicationWillTerminate: mensagem e fechar o aplicativo para baixo. Para muitos aplicativos, no entanto, a melhor defesa é um bom ataque, o que significa que você precisa para gerenciar sua memória de forma eficaz e eliminar quaisquer vazamentos de memória em seu código, seguindo as regras ARC.

Para testar, implementar todos esses métodos e lugar NSLog declarações neles, juntamente com pontos de interrupção de modo que você pode ver os problemas de memória como eles acontecem. É fácil identificar lugares onde você pode liberar memória, mas é mais eficiente para lidar com os que fornecem o maior retorno para seus investimentos programação.


Publicações relacionadas