Maison > Questions et réponses > le corps du texte
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)
.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];