Iphone CoreMotion中的内存泄漏

Iphone CoreMotion中的内存泄漏,iphone,ios,memory,memory-leaks,cmmotionmanager,Iphone,Ios,Memory,Memory Leaks,Cmmotionmanager,以下是我在vievDidLoad中的代码 CMMotionManager *motionmanager = [[[CMMotionManager alloc]init]autorelease]; NSString string1 = [NSString stringwithFormat:@"%s", ([motionmanager.isGyroAvailable} ? @"Available" : @"Not Available")); 在仪器中,我从XCode 4.5中的CMMotionM

以下是我在vievDidLoad中的代码

CMMotionManager *motionmanager = [[[CMMotionManager alloc]init]autorelease];

NSString string1 = [NSString stringwithFormat:@"%s", ([motionmanager.isGyroAvailable} ? @"Available" : @"Not Available"));
在仪器中,我从XCode 4.5中的CMMotionManager内部获得内存泄漏
我的代码有什么问题?< /P> < P> <代码> CMMOTHOMENDS/<代码>行似乎很好,但是您应该考虑保留引用(使它成为实例变量,而不是自动删除它),并且当您停止从中更新数据时,手动释放<代码> CMMOSMODE管理器< /代码>。 另一条线路更让我烦恼。你有

NSString string1 = [NSString stringwithFormat:@"%s", ([motionmanager.isGyroAvailable} ? @"Available" : @"Not Available"));
虽然你应该:

NSString *string1 = [NSString stringwithFormat:@"%@", ([motionmanager.isGyroAvailable} ? @"Available" : @"Not Available"));

<> >代码> STRIG1应该是指针,格式是“代码> >“%@”<代码> > <代码> @“%s”<代码> .< /p> < p> <代码> CMMOTHOME管理器< /代码>行似乎很好,但是您应该考虑保留引用(使它成为实例变量而不是自动删除它)并在停止更新数据时手动释放
CMMotionManager

另一条线路更让我烦恼。你有

NSString string1 = [NSString stringwithFormat:@"%s", ([motionmanager.isGyroAvailable} ? @"Available" : @"Not Available"));
虽然你应该:

NSString *string1 = [NSString stringwithFormat:@"%@", ([motionmanager.isGyroAvailable} ? @"Available" : @"Not Available"));

所以
string1
应该是指针,格式是
@“%@”
而不是
@“%s”

这似乎是模拟器中的一个错误。它在设备上正常工作。

这似乎是模拟器中的一个错误。它在设备上正常工作。

检入生成分析器并修复对象级泄漏。假设您的意思是从菜单中进行分析。没有发现问题。请检查生成分析器并修复对象级泄漏。假设您的意思是从菜单中进行分析。没有发现问题。对不起,我没有正确粘贴代码。事实上,我把它作为“%@”而不是“%s”。所以我认为这不是问题所在。很抱歉,我没有正确粘贴代码。事实上,我把它作为“%@”而不是“%s”。所以我认为这不是问题所在。