@property (nonomic,retain) CMMotionManager *motionManager; //delcare as a property.
motionManager = [[CMMotionManager alloc] init]; //init it.
motionManager.accelerometerUpdateInterval = 0.2f;
以下全部在線程(而不是主線程)中執行。使用加速計時存儲器泄漏數據
-(void)handle{
[motionManager startAccelerometerUpdates];
while (1) {
CMAcceleration acceleration = motionManager.accelerometerData.acceleration;
NSLog(@"%f %f %f",acceleration.x,acceleration.y,acceleration.z);
sleep(0.5);
}
}
當我運行在Xcode應用程序 - >儀器,我發現人們記憶uninterruptly增加, 直到應用收到內存變暖和系統殺死。 我嘗試在while塊中放置accelerometerData。但不起作用。 motionManager.accelerometerData release];
我不希望使用startAccelerometerUpdatesToQueue:[NSOperationQueue currentQueue] withHandler:^(CMAccelerometerData * accelerometerData,NSError *錯誤),監守我想在後臺運行,而該塊不作任何功能時,應用程序是暫停。
Can anyone help me?
screenshot image:http://img.blog.csdn.net/20130702120140593
我嘗試使用@autorelease {...}或NSAutoreleasePool,但問題總是存在。我的項目網址:http://qq644531343.opendrive.com/files/Ml8yMjE0NjY3MV9kY2NUQl9mYWQ3/Testautoreleasepool.zip –
@LiuLiBo看到我編輯的答案。 :-) –
非常感謝。你的方式解決了這個問題。 –