Pergunta

Eu já referido esta referência muito boa: https://stackoverflow.com/questions / 1282830 / UIImagePickerController-UIImage-memory-e-mais mas eu estou tendo alguns problemas muito graves. Depois que eu tirar uma foto, eu recebi um aviso de memória. Isto é para a primeira foto que eu tomar, não o segundo ou terceiro.

Eu queria saber se é porque eu tenho um par de pequenos jpegs carregados do diretório do aplicativo em vista de rolagem. A única solução que eu posso pensar é para descarregar tudo na minha MAINVIEW enquanto o UIImagePicker está ativa e recarregar tudo de novo depois, mas eu não tenho certeza que é a solução correta e eu não tenho certeza de como fazer isso.

O UIImagePicker usar-se que quantidade de memória? Eu nem sequer chegou até o processamento ou exibir a imagem que leva ainda. Eu recebo um aviso de memória, mesmo se eu jogar a imagem de distância.

Qualquer ajuda apreciado.

Foi útil?

Solução

Sim, isso acontece. A coisa a lembrar é que não há problema em receber um aviso de memória, isso não significa que você é uma pessoa ruim, você só precisa ter certeza de que a sua aplicação não falhar ou ficar confuso em resposta ao aviso de memória.

Em particular, você precisa entender que a ação padrão de UIViewController é descarregar seus pontos de vista, se eles não são visíveis, e eles não serão visíveis se o seletor de imagem em tela cheia está mostrando.

Outras dicas

Para todas as pessoas que ainda estão procurando a resposta real e não uma declaração vaga, em seguida, olhe aqui. Notei que existem centenas de respostas como "Lidar com a sua memória", mas que não responde nada. Espero que isso ajude alguém lá fora ...

Alterar o seguinte

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
    [imageView setImage:image];
    [self dismissModalViewControllerAnimated:YES];
}

para o seguinte para seus modais despede vista antes de definir a sua imagem ...

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
    [self dismissModalViewControllerAnimated:YES];
    [imageView setImage:image];
}

O mais provável é que você está usando imagens uneditted, e voltam no tamanho soprado cheio de 1400x1300 que é enorme e w doente travar o seu aplicativo, sugiro redimensionar as imagens para a resolução nativa do iPhone 320x480, deve resolver o seu problema

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