我对内存管理技术的要求还不是很高,并且想知道是否有人可以向我解释这种奇怪的行为.考虑一下我测试的这3段代码:
DofView* dofView = [[DofView alloc] initWithNibName:@"DofView" bundle:nil];
NSLog(@"dof retain count = %d", [dofView retainCount]);
Run Code Online (Sandbox Code Playgroud)
此日志:保留计数= 1.这很好.
DofView* dofView = [[DofView alloc] initWithNibName:@"DofView" bundle:nil];
[dofView release];
NSLog(@"dof retain count = %d", [dofView retainCount]);
Run Code Online (Sandbox Code Playgroud)
这个日志:保留计数= 1.不应该是0 ??
DofView* dofView = [[DofView alloc] initWithNibName:@"DofView" bundle:nil];
[self.navigationController pushViewController:dofView animated:YES];
NSLog(@"dof retian count = %d", [dofView retainCount]);
Run Code Online (Sandbox Code Playgroud)
这个日志:保留计数= 5.我不知道为什么它的五个?
任何人都对此有所了解吗?我担心每次创建新视图时我都会吃掉内存.
谢谢!