title: How to prevent AVAudioRecorder taking 3% CPU when "sleeping"
body: <p>I have an AudioPlayer implemented in an app. As soon as I call [AVAudioRecorder prepareToRecord]; the CPU usage goes up to 5%. Fine, because something useful is happening. But after [AVAudioRecorder stop]; is called, CPU drops to 3% and stays there.</p>
  
  <p>This is the code where I implement the recorder:</p>
  
  <pre><code>- (void)prepareRecorder
  {
      outputFileString = [NSString stringWithFormat:@"%@/%@", [self applicationDocumentsDirectory], @"audio.m4a"];
  
      NSArray *pathComponents = [NSArray arrayWithObjects:[self applicationDocumentsDirectory], @"audio.m4a", nil];
      outputFileURL = [NSURL fileURLWithPathComponents:pathComponents];
  
      AVAudioSession *session = [AVAudioSession sharedInstance];
      [session setActive:YES error:nil];
      [session setCategory:AVAudioSessionCategoryPlayAndRecord error:nil];
  
      NSMutableDictionary *recordSetting = [[NSMutableDictionary alloc] init];    
      [recordSetting setValue:[NSNumber numberWithInt:kAudioFormatMPEG4AAC] forKey:AVFormatIDKey];
      [recordSetting setValue:[NSNumber numberWithFloat:44100.0] forKey:AVSampleRateKey];
      [recordSetting setValue:[NSNumber numberWithInt:2] forKey:AVNumberOfChannelsKey];
  
      recorder = [[AVAudioRecorder alloc] initWithURL:outputFileURL settings:recordSetting error:nil];
      recorder.delegate = self;
      recorder.meteringEnabled = YES;
      [recorder prepareToRecord];
  }
  </code></pre>
  
  <p>I don't know if it's possible to release/dealloc an object in ARC, but I tried</p>
  
  <pre><code>recorder = Nil;
  </code></pre>
  
  <p>How can I solve this? Or shouldn't I bother about the 3%?</p>