recherche

Maison  >  Questions et réponses  >  le corps du texte

Objective-c - La mémoire est trop volumineuse lors de la conversion d'une UIimage en NSData

Si vous transférez vers NSData sans endommager la qualité de l'image, si l'image est très grande, si elle est dans le thread principal, la mémoire augmentera et l'interface utilisateur sera bloquée. Si elle est dans le sous-thread, le. L'interface utilisateur ne sera pas bloquée. Mais la mémoire sera également très grande. Comment le résoudre ? (Remarque : l'image de test, la longueur des données transférées est d'environ 20 M)

.
巴扎黑巴扎黑2833 Il y a quelques jours545

répondre à tous(1)je répondrai

  • phpcn_u1582

    phpcn_u15822017-05-02 09:30:12

    Incapable de résoudre, la conversion en NSData est similaire à une opération de décompression et ne peut pas réduire l'utilisation de la mémoire.

    Si vous devez l'envoyer au serveur, il est recommandé d'utiliser la méthode indiquée dans la figure ci-dessous.

    NSMutableURLRequest *request = [[AFHTTPRequestSerializer serializer] multipartFormRequestWithMethod:@"POST" URLString:@"http://example.com/upload" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
            [formData appendPartWithFileURL:[NSURL fileURLWithPath:@"file://path/to/image.jpg"] name:@"file" fileName:@"filename.jpg" mimeType:@"image/jpeg" error:nil];
        } error:nil];
        

    répondre
    0
  • Annulerrépondre