AvAudioPlayer выдает память audiotoolbox 32kb - PullRequest
0 голосов
/ 02 мая 2011

Я столкнулся с проблемой управления памятью. в распределении памяти каждый раз он увеличивается на 32 КБ при загрузке страницы и не освобождает память. И через некоторое время, когда общий объем памяти достигает 3 МБ, он падает в 3 МБ 1 МБ только для audiotoolbox malloc. вот мой код, пожалуйста, помогите мне

в .h файле: -

AVAudioPlayerDelegate

AVAudioPlayer       *appSoundPlayer;

NSURL           *soundFileURL;

@property (retain)  AVAudioPlayer       *appSoundPlayer;
@property (nonatomic, retain)   NSURL       *soundFileURL;


- .m file

@synthesize appSoundPlayer;             
@synthesize soundFileURL;

-(void)viewdidload
{
NSString *soundFilePath = [[NSBundle mainBundle]    pathForResource:@"Page_flip"
                                 ofType:@"mp3"];


    NSURL *newURL = [[NSURL alloc] initFileURLWithPath: soundFilePath];

    self.soundFileURL = newURL;

    [newURL release];


    NSLog(@"****  We are now at cover page  ****");

    [super viewDidLoad];
}


#pragma mark -
#pragma mark read to me
-(void)         readtome                :(id)                       Sender
{
    AVAudioPlayer *newPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL: soundFileURL error: nil];

    self.appSoundPlayer = newPlayer;

    [newPlayer release];


    [appSoundPlayer setVolume: 1.0];

    [appSoundPlayer setDelegate: self];

    [appSoundPlayer play];
}


- (void)        dealloc 

{

    [appSoundPlayer release];

    self.appSoundPlayer = nil;

}

1 Ответ

1 голос
/ 02 мая 2011

Существует множество проблем с вашим кодом:

  1. Вы не звоните [super dealloc] в конце -dealloc.
  2. Вы не выпускаете soundFileURL в -dealloc.
  3. Имена методов должны быть в верблюжьем регистре (viewDidLoad не viewdidload).
  4. Используйте [appSoundPlayer release] или self.appSoundPlayer = nil, но не оба.

Я настоятельно рекомендую вам прочитать руководство по программированию управления памятью http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/MemoryMgmt/MemoryMgmt.html

...