iOS ARC内存不断增加

时间:2015-07-31 09:37:08

标签: ios objective-c

这是我的代码。调用viewDidLoad方法时,内存不断增加。我猜本地变量data未被释放。但为什么?

- (void)viewDidLoad {
   [super viewDidLoad];

   NSData *data = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"wakeup.pcm" ofType:nil]];
NSMutableData *mData = [NSMutableData dataWithData:data];

  int readLength = 0;
  while (readLength < mData.length) {
     if (mData.length - readLength > EVERBUFFERLEN) {
        NSData *data = [mData subdataWithRange:NSMakeRange(readLength, EVERBUFFERLEN)];
        readLength += EVERBUFFERLEN;
        data = nil;
    }
}

enter image description here

1 个答案:

答案 0 :(得分:0)

这样的“整体记忆计”并不能真正帮助发现泄漏。 I. e。它可以是-dataWithContentsOfFile:从系统请求内存,但在使用后不会释放。原因可能是从系统分配内存很慢并且只要内存压力不高,“为应用程序”保留未使用的内存可能是更便宜的方式。