私はsqliteデータベースにFMDBラッパーを使用しており、データベースにURLからダウンロードした画像を保存し、BLOBデータに保存していますが、データベースで次のようなSELECTクエリを作成すると:
SELECT id,img FROM table1 WHERE name = "Carl"
これはデータベースの列です。
img BLOB
しかし、クエリは非常に遅いです。クエリからimgを削除すると、非常に高速になります。URLから画像をダウンロードした後、サイズを変更してサイズを小さくし、次のようにしてメモリスペースを節約します。
NSData *biggerImg = [NSData dataWithContentsOfURL:[NSURL URLWithString:url_image]];
NSData *img = UIImageJPEGRepresentation([self imageWithImage:[UIImage biggerImg] scaledToSize:CGSizeMake(90, 134)], 1.0);
- (UIImage *)imageWithImage:(UIImage *)image scaledToSize:(CGSize)newSize {
//UIGraphicsBeginImageContext(newSize);
UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0);
[image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}
クエリを高速化する方法を知っている人はいますか? クエリには画像も必要です。
ありがとう