me1*_*974 2 xcode memory-leaks ios
过去两天我花了很多时间来寻找内存泄漏.我已经阅读了文档并在互联网上搜索了很多信息(例如Owen Goss"在iOS应用程序中查找和修复内存泄漏"),但我仍然有太多的谜团需要解决.
例如,这段代码一次又一次地在仪器中亮起.我尽我所能,但无法解决它.
- (void) updateUserDefaults
{
// alloc temporary Array for object´s positions
NSMutableArray *tArray = [[NSMutableArray alloc] init];
// store locations of objects
for (int i=0; i<[originalOrigins count]; ++i) {
CGPoint foo = [self.view viewWithTag:100+i].center;
NSString *moo = NSStringFromCGPoint(foo);
[tArray addObject:moo];
[moo release]; //?
}
// retrieve all stored positions for all objects
NSMutableArray *zettelPannedOrigins = [[[[NSUserDefaults standardUserDefaults] objectForKey:@"zettelPannedOrigins"] mutableCopy] retain];
// replace with objects from this level
[zettelPannedOrigins replaceObjectAtIndex:zettelAtIndexInTonebank withObject:tArray];
// save
[[NSUserDefaults standardUserDefaults] setObject:zettelPannedOrigins forKey:@"zettelPannedOrigins"];
[[NSUserDefaults standardUserDefaults] synchronize];
// clean up memory
[tArray release];
[zettelPannedOrigins release]; //?
}
Run Code Online (Sandbox Code Playgroud)
我认为对其他人来说也许有趣的是,我发布了我分配的内容.但它仍然在泄漏.我无法回答文档.或者我可以吗?
NSMutableArray *zettelPannedOrigins = [[[[NSUserDefaults standardUserDefaults] objectForKey:@"zettelPannedOrigins"] mutableCopy] retain];
Run Code Online (Sandbox Code Playgroud)
保留计数为2,mutableCopy保留一次,retain然后再次调用它.不要retain在这里打电话.
记住,如果你调用一个方法new,alloc,retain或copy在名称,你再拥有该对象,并保留计数上升.
| 归档时间: |
|
| 查看次数: |
454 次 |
| 最近记录: |