相关疑难解决方法(0)

大多数内存有效的方法将照片保存到iPhone上的磁盘?

从剖析中Instruments我了解到,我将图像保存到磁盘的方式导致了内存峰值~60MB.这导致应用程序发出low memory warnings,(不一致)导致iPhone4S运行中的崩溃iOS7.

我需要最有效的方法将图像保存到磁盘.

我目前正在使用此代码

+ (void)saveImage:(UIImage *)image withName:(NSString *)name {
    NSData *data = UIImageJPEGRepresentation(image, 1.0);
    DLog(@"*** SIZE *** : Saving file of size %lu", (unsigned long)[data length]);
    NSFileManager *fileManager = [NSFileManager defaultManager];
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *fullPath = [documentsDirectory stringByAppendingPathComponent:name];
    [fileManager createFileAtPath:fullPath contents:data attributes:nil];
}
Run Code Online (Sandbox Code Playgroud)

笔记:

  1. 减少compressionQuality参数值UIImageJPEGRepresentation不会显着降低内存峰值.例如 compressionQuality = 0.8,3MB通过100写入平均减少内存峰值.但是,它确实减少了磁盘上数据的大小(显然),但这对我没有帮助.

  2. UIImagePNGRepresentation取而代之的 …

iphone objective-c avfoundation uiimage ios

14
推荐指数
1
解决办法
4066
查看次数

标签 统计

avfoundation ×1

ios ×1

iphone ×1

objective-c ×1

uiimage ×1