私は、主な機能がテーブルビューに大きな画像を表示するアプリを作成しています。一部の画像は、幅が 1000 ピクセル、サイズが 1MB 以上になる場合があります。
古いデバイス (3GS) では、これらの処理に重大な問題があり、すぐにメモリ警告が送信されることがわかっています。
どんな画像が持ち込まれているのかわかりませんが、サイズもファイルサイズも小さくできると思いました。だから私は調べた
NSData *dataForJPEGFile = UIImageJPEGRepresentation(img, 0.6)
圧縮用ですが、これはメモリ警告には役立たないと思います
次のようにサイズ変更します。
UIImage *newImage;
UIImage *oldImage = [UIImage imageWithData:imageData] ;
UIGraphicsBeginImageContext(CGSizeMake(tempImage.size.width,tempImage.size.height));
[oldImage drawInRect:CGRectMake(0, 0,320.0f,heightScaled)];
newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
また、https://github.com/AliSoftware/UIImage-Resizeでも
基本的には、画像を取得して再フォーマットし、その場でサイズとファイルサイズを小さくしてから、古いものを削除したいと考えています。これが最善の方法ですか?画像のキャッシュは役に立ちますか? https://github.com/rs/SDWebImageのように?