【问题标题】:iOS NSData cast to NSMutableData memory leakiOS NSData 转换为 NSMutableData 内存泄漏
【发布时间】:2018-01-14 11:07:32
【问题描述】:

我在 iOS 开发中遇到问题。

我将NSData 和一些参数传递给函数。

 // this time memory is about 54 MB
 + (NSData*) doFileData : (NSData*) fileData andFileName:(NSString*) fileName{

   NSMutableData *fileContentData = [NSMutableData dataWithData: fileData];
   // after doing the cast line, the memory is about 99 MB
    .....
 }

当我将 NSData 转换为 NSMutableData 时,内存使用量从 54MB 上限变为 99 MB。

如何使用限制记忆功能将NSData 转换为NSMutableData

非常感谢。

【问题讨论】:

标签: ios objective-c memory memory-leaks nsdata


【解决方案1】:

您可以尝试使用方法+ (id)dataWithContentsOfFile:(NSString *)path options:(NSDataReadingOptions)readOptionsMask error:(NSError **)errorPtr;。对于第二个参数,您可以使用NSDataReadingMappedIfSafe。

【讨论】:

  • 如果我得到的 NSData 不是来自路径(可能 NSData 是从一个大的 NSData 拆分出来的),它不能使用 datawithcontensOfFile 方法..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多