错误:内存泄漏,数据格式化暂时不可用(ERROR: Memory Leak, data format

2019-09-26 06:58发布

我正在开发一个应用程序测验。 我把问题从一个XML文件,分析它,并随机显示的问题。 这些都存储在NSDictionary中和的NSMutableArray。 另外,应用程序播放背景音乐和声音的点击按钮(AVAudioPlayer)的。 和振动(AudioServicesPlaySystemSound(kSystemSoundID_Vibrate))

在一个特定的功能,如果我尝试释放我用的是临时变量(如NSDictionary中和的NSMutableArray)的应用程序崩溃,闻一达第二时间功能。 因此,如果我不释放这些,它工作正常,但最终与“EXC_BAD_ACCESS”错误崩溃。 它并没有指出任何行或函数。

当我使用的工具“泄漏”,这表明我有7000左右的泄漏。 我不知道如何使用工具,但我敢肯定,我没有创造这么多的变数,绝对少数,甚至那些我释放。

而就一次,我得到了错误“数据格式化暂时不可用”。

任何知道我做错了? F1 :)

PS:我的代码都是简单的东西,再加上我唐诺是什么问题,因此,我在这里发表唐诺什么码? 此外,我想知道如果我在临时使用的,我应该释放它在函数的最后一个函数创建的NSString *(我放开)编辑?

    -(void) loadQuestion
    { 
    strCorrectAnswer = @"";
    int intQuestionNo;
    NSString *strQuestionNo = [[NSString alloc] init];

    // get random question out  the xml file  
NSDictionary *dctQue = [dctQuestions  objectForKey:strQuestionNo];
// blah blah

    // jumble the answers to   be displaed


NSMutableArray *answerJumble = [[NSMutableArray alloc] init];
NSMutableArray *answers =[NSMutableArray arrayWithObjects:[dctQue objectForKey:@"WrongAnswer1"],[dctQue objectForKey:@"WrongAnswer2"],[dctQue objectForKey:@"WrongAnswer3"],[dctQue objectForKey:@"CorrectAnswer"],nil];

 // blah blah

  /*
[strQuestionNo release];
[answers release];
[answerJumble release]; */  

}

Answer 1:

你应该阅读一些有关可可内存管理。 请参阅Mac开发中心或在可可开发中心教程 。 iPhone上的内存管理并不难,它是通过试验和错误,可惜代码。



Answer 2:

还有一点挖后,这个问题是文声音文件必须重播。 如果我按下一个按钮,声音文件播放结束,如果我再次按下前,声音文件正在播放一次。 导致3000内存泄漏。

如果这样做了两次应用WUD的6425.泄漏之后崩溃因此,ERROR-“目前无法使用数据格式化”。(我猜)



文章来源: ERROR: Memory Leak, data formatters temporarily unavailable