Re: NSSpeechSynthesizer leaking
Re: NSSpeechSynthesizer leaking
- Subject: Re: NSSpeechSynthesizer leaking
- From: Casey Fleser <email@hidden>
- Date: Tue, 20 Dec 2005 13:39:39 -0600
Hmm? In speechSynthesizer: didFinishSpeaking: it says: [inSender
release].
BTW, I also tried creating an autoreleased version of
NSSpeechSynthesizer instead of releasing via the delegate message.
Either way though the NSSpeechSynthesizer will get dealloc'd, but not
clean up after itself properly.
I will probably work around this by creating a single
NSSpeechSynthesizer and reusing it as needed, but I shouldn't have to.
Casey
On Dec 20, 2005, at 1:13 PM, Vince DeMarco wrote:
in speachSynthesizer:didFinishSpeaking: you are retaining the inSender
which seems wrong, and will cause a leak.
On Dec 20, 2005, at 11:10 AM, Casey Fleser wrote:
I just need a quick sanity check to make sure I'm not seeing
something obvious here before I submit this to Radar. Looks to me
that NSSpeechSynthesizer isn't cleaning up after itself properly.
Just a quick and simple action to that grabs some text from an
NSTextField. I subclassed NSSpeechSynthesizer
(DebugSpeechSynthesizer) so I could NSLog from retain, release,
and dealloc. DebugSpeechSynthesizer is getting dealloc'd, but
there are huge chunks of memory that are not being reclaimed (the
main culprits seem to live in MacinTalk AudioToolbox according to
ObjectAlloc).
So anyway, am I missing something here? (for the record
DebugSpeechSynthesizer does call [super dealloc]). Clicking the
speak button repeatedly in my little sample app will consume
hundreds of megabytes of memory pretty quickly.
- (IBAction) speak: (id) inSender
{
NSSpeechSynthesizer *synthesizer =
[[DebugSpeechSynthesizer alloc] initWithVoice:
[NSSpeechSynthesizer defaultVoice]];
if (synthesizer != nil) {
[synthesizer setDelegate: self];
[synthesizer startSpeakingString: [_speechText stringValue]];
}
}
- (void) speechSynthesizer: (NSSpeechSynthesizer *) inSender
didFinishSpeaking: (BOOL) inFinishedSpeaking
{
NSLog(@"NSSpeechSynthesizer %@ finished", inSender);
[inSender release];
}
The demonstration app can be grabbed here if you like:
http://www.somegeekintn.com/download/SpeechTest.zip
Thanks for any insight,
Casey
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden