Временный выпуск памяти - PullRequest
       18

Временный выпуск памяти

0 голосов
/ 17 августа 2011

Я создаю приложение для викторины в iPhone.
Чтобы у меня было так много ярлыков и кнопок одновременно.
Если я отпускаю их сразу после одного вопроса, приложение останавливается.
Если яЯ не делаю этого и не освобождаю их в функции dealloc, тогда он показывает предупреждение о сбое памяти и приложение.Я использую этот код

получено предупреждение памяти.уровень 1

Если я задаю около 20 вопросов, приложение не падает, но если я добавляю больше вопросов, то оно падает.
Я думаю, что оно выделяет память и не освобождает сразу после одного вопроса.

Пожалуйста, помогите мне :(

Отредактировано:
Я использую этот код после выбора ответа

-(void)checkAnswer:(int)theAnswerValue
{   
[AVback stop];
[scrollview scrollRectToVisible:CGRectMake(0, 0, 1, 1) animated:NO]; 
[Challengetext setHidden:YES];
[theScore setHidden:YES];
[theQuestion setHidden:NO];
[Question setHidden:YES];  
if(rightAnswer == theAnswerValue)
{
    NSString *AVpath = [[NSBundle mainBundle] pathForResource:@"Winner_1" ofType:@"m4a"];
    AVAudioPlayer *AVbtn1 = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:AVpath] error:NULL];


    [img1 setHidden:NO];
    [img2 setHidden:YES];
    [theQuestion setFont:[UIFont fontWithName:@"Futura" size:30]];
    theQuestion.textColor = [UIColor purpleColor];
    theQuestion.text = @"\n\nCorrect Answer!!";
    [rightans setHidden:NO];
    [Description setHidden:NO];
    [ContainerView setHidden:NO];
    myScore = myScore + 50;
}
else
{

    NSString *AVpath = [[NSBundle mainBundle] pathForResource:@"incorrect2" ofType:@"m4a"];
    AVAudioPlayer *AVbtn1 = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:AVpath] error:NULL];
    QuizAppUniversalAppDelegate *appDelegate = (QuizAppUniversalAppDelegate *) [[UIApplication sharedApplication] delegate];
    if(appDelegate.soundIndicator == 0){
        [AVbtn1 play];

    }
    else{
        [AVback stop];
        [AVstart stop];
        [AVbtn1 stop];
    }

    [img2 setHidden:NO];
    [img1 setHidden:YES];
    [theQuestion setFont:[UIFont fontWithName:@"Futura" size:30]];
    theQuestion.textColor = [UIColor redColor];
    theQuestion.text = @"\nIncorrect Answer!!\nRight answer is : \n ";
    [rightans setHidden:NO]; 
    [Description setHidden:NO];
    [ContainerView setHidden:NO];
    myScore = myScore ;

}

Спасибо. Любая помощь будет оценена.. !!

1 Ответ

0 голосов
/ 17 августа 2011

Вы, кажется, нигде не освобождаете свой объект avBtn1, и вы выделяете новый каждый раз, когда вызывается checkAnswer.Это рассматривается где-то еще в коде?

...