Question

Je l'ai fait référence à cette très bonne référence: https://stackoverflow.com/questions / 1282830 / UIImagePickerController-UIImage-mémoire et plus mais je vais avoir des problèmes très graves. Après avoir pris une photo, je reçois un avertissement de mémoire. Ceci est pour la première photo que je prends, pas la deuxième ou troisième.

Je me demandais si c'est parce que j'ai quelques petits jpegs chargés à partir du répertoire d'application en vue de défilement. La seule solution que je peux penser est de décharger tout dans mon MainView tandis que le UIImagePicker est actif, et recharger tout nouveau par la suite, mais je ne suis pas sûr que ce soit la bonne solution et je ne sais pas comment faire.

La UIImagePicker utilise des que de mémoire? Je n'ai même pas eu autant que le traitement ou l'affichage de l'image qu'il faut encore. Je reçois un avertissement de mémoire, même si je jette l'image loin.

Toute aide appréciée.

Était-ce utile?

La solution

Oui, cela se produit. La chose à retenir est qu'il est correct d'un avertissement de mémoire, cela ne signifie pas que vous êtes une mauvaise personne, il vous suffit de vous assurer que votre application ne tombe pas en panne ou se confondre en réponse à l'avertissement de la mémoire.

En particulier, vous devez comprendre que l'action par défaut de UIViewController est de décharger ses vues si elles ne sont pas visibles, et ils ne seront pas visibles si le sélecteur d'image plein écran est affiché.

Autres conseils

Pour toutes les personnes qui cherchent encore la réponse réelle et non une déclaration vague alors regardez ici. J'ai remarqué qu'il ya des centaines de réponses telles que « Manipulez votre mémoire », mais cela ne répond pas à quoi que ce soit. Espérons que cela aide quelqu'un d'autre là-bas ...

Modifier les éléments suivants

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

Pour ce qui suit si votre point de vue modal congédie avant de l'image ...

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

Très probablement, vous utilisez des images uneditted, et ils reviennent à pleine taille soufflée de 1400x1300 ce qui est énorme et accident mal avec votre application, je vous suggère de redimensionner les images à la résolution native de l'iPhone 320x480, devrait résoudre votre problème

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top