From 4e019bfcf2e157902b53509e3f17ffd58faa1c04 Mon Sep 17 00:00:00 2001 From: Piers Date: Wed, 17 Apr 2013 09:37:57 +0000 Subject: [PATCH] Fix continual allocation of auto-releaseable NSDate objects The startInterval method of the AudioPlayer module causes a continually increasing number of NSDate objects to be allocated. The auto-release pool which wraps this code doesn't drain frequently enough causing an application's memory footprint to grow by roughly a megabyte every 5 minutes. --- Audjustable/Classes/AudioPlayer/AudioPlayer.m | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Audjustable/Classes/AudioPlayer/AudioPlayer.m b/Audjustable/Classes/AudioPlayer/AudioPlayer.m index 8ec9af3..94a47c2 100644 --- a/Audjustable/Classes/AudioPlayer/AudioPlayer.m +++ b/Audjustable/Classes/AudioPlayer/AudioPlayer.m @@ -1632,7 +1632,8 @@ static void AudioQueueIsRunningCallbackProc(void* userData, AudioQueueRef audioQ break; } - [playbackThreadRunLoop runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:10]]; + NSDate *date = [[NSDate alloc] initWithTimeIntervalSinceNow:10]; + [playbackThreadRunLoop runMode:NSDefaultRunLoopMode beforeDate:date]; } disposeWasRequested = NO;