我想要访问不同类别的一些声音,可以读取和更改多个类别中每个声音的音调值。然后,我在应用程序委托方法中使用extern FISound *mySound,并将它们加载到视图控制器中。它工作起来很棒,但问题是[FIDecoder decodeSampleAtPath:error]总是会有内存泄漏
Leaked Object # Address Size Responsible Library Responsible Frame
FISample,1 0x76e9030 32 Bytes Musizs -[FIDecoder decodeSampleAtPath:error:]
NSConcreteData,1 0x76e7100 32 Bytes Foundation +[NSData(NSData) allocWithZone:]
NSConcreteData,1 0x737b080 32 Bytes Foundation +[NSData(NSData) allocWithZone:]
FISample,1 0x76e81c0 32 Bytes Musizs -[FIDecoder decodeSampleAtPath:error:]有人有这样的问题吗??谢谢。
发布于 2012-02-22 21:30:28
库代码对我来说很好,即使在检查了Instruments之后也是如此。你能发布一个简短的示例代码来展示泄漏吗?另外,如何将手动release调用添加到源中?该库使用ARC,因此手动内存管理调用应该是非法的。您是通过引用整个Xcode项目来正确使用库,还是只导入“裸”源文件?
发布于 2012-02-22 06:14:53
Finch4使用XCode检测到许多可能的内存泄漏。这是因为Finch没有根据内存管理指南正确地命名它的方法。
例如,decodeSampleAtPath应该重命名为"allocDecodeSampleAtPath“。任何使用此方法的人都必须释放它。
在Finch中有许多方法不能做到这一点,它们都应该被修复。
https://stackoverflow.com/questions/9353797
复制相似问题