Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/100.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 使用CbundlecopyresourceUrl的内存泄漏_Iphone_Ios_Memory Leaks - Fatal编程技术网

Iphone 使用CbundlecopyresourceUrl的内存泄漏

Iphone 使用CbundlecopyresourceUrl的内存泄漏,iphone,ios,memory-leaks,Iphone,Ios,Memory Leaks,Instruments告诉我,我正在用下面几行代码泄漏内存 CFBundleRef mainBundle = CFBundleGetMainBundle (); CFStringRef aString =CFStringCreateWithFormat(NULL, NULL, CFSTR("%i"),aNumber); sound= CFBundleCopyResourceURL (mainBundle, aString, CFST

Instruments告诉我,我正在用下面几行代码泄漏内存

    CFBundleRef mainBundle = CFBundleGetMainBundle ();
    CFStringRef aString =CFStringCreateWithFormat(NULL, NULL, CFSTR("%i"),aNumber);                    
    sound= CFBundleCopyResourceURL (mainBundle, aString, CFSTR ("aiff"), NULL);
    CFRelease(aString);
我确实使用CFRelease在这个类(顺便说一句,它是UIView的一个子类)的dealloc中发布了sound(当然是CFURLRef)

罪魁祸首似乎是NSURL和NSCFString


但是除了释放声音和aString之外,我还能做什么呢?

使用断点与相关变量交互,这样您可能会解决您的问题。

尝试使用断点查看它是否真的进入dealloc和alloc,以及执行了多少次。这是一个猜测,考虑到你可能有其他观点,它正在重新加载。谢谢你的提示。不是这样,但你的建议让我走上了正确的道路:除了设置断点,我在释放时记录了“声音”的内容:在某些情况下,我更改了它的值,并且没有想到先释放旧值。现在一切都正常了。