(^.^)“再次抱歉,我的英语不好,如果有人喜欢纠正我的编辑,我将不胜感激”
你是对的。但是:首先,当我单击创建按钮时,它会使用 alloc 创建新的视图控制器,并自动保留计数 +1,当我按下终止按钮时,保留计数 -1 和等于 0 这意味着理论上创建的视图控制器已从内存我更正了代码:
- (IBAction)create:(id)sender{
if(vc == nil){ //if is not nil this mean vc have some space of memory reference and vc is not created
//if == nil this mean vc does not have space of memory reference so create.
vc = [[VC alloc] initWithNibName:@"VC" bundle:[NSBundle mainBundle]];// retain count + 1
[_VW addSubview:vc.view];
}
和
- (IBAction)kill:(id)sender{
[vc.view removeFromSuperview]; //When view removeFromSuperview is called also dealloc is called of the vc view
[vc release];// retain count - 1 the curren count is equal 0 this mean vc does not have space of memory
vc = nil; // remove the reference of memory.
}
*但是当我制作项目的配置文件并单击按钮创建和终止时,内存不会减少只会增长*
抱歉,但我无法粘贴图像,因为我是新手发布,但是当我在 Allocations init 中使用 Live Bytes 584,19kb 初始化配置文件并且在 1 分钟内 Live Bytes 为 1,08 mb 时,不会释放任何内容,只会增长。
我现在不知道为什么如果我正确地创建和释放请帮助。