Ios 如何释放全局变量的内存?
我想在注销后释放全局变量的所有内存。因为,在我注销后,内存不会下降。我用的是ARC 我试过这个代码,但不起作用Ios 如何释放全局变量的内存?,ios,objective-c,xcode,Ios,Objective C,Xcode,我想在注销后释放全局变量的所有内存。因为,在我注销后,内存不会下降。我用的是ARC 我试过这个代码,但不起作用 global.arrayStatus = nil; global.arrayEmpName = nil; global.arrayEmpNo = nil; global.arrayDateTime = nil; global.arraUpdatedBy = nil; global.arrayDatePosted = nil; global.arrayPostStatus = nil;
global.arrayStatus = nil;
global.arrayEmpName = nil;
global.arrayEmpNo = nil;
global.arrayDateTime = nil;
global.arraUpdatedBy = nil;
global.arrayDatePosted = nil;
global.arrayPostStatus = nil;
[self dismissViewControllerAnimated:YES completion:nil];
记住不要在arc中使用super delloc
-(void)dealloc{
global.arrayStatus = nil;
global.arrayEmpName = nil;
global.arrayEmpNo = nil;
global.arrayDateTime = nil;
global.arraUpdatedBy = nil;
global.arrayDatePosted = nil;
global.arrayPostStatus = nil;
}
您正在清理的对象有多大?可能是因为它们太小了,以至于你没有注意到任何可见的内存变化 检查仪器工具,特别是泄漏部分 请注意,您还可能有一个,这将避免清除内存,也不会显示在仪器中 另一方面,如果要清除全局对象的所有属性,那么用新实例替换它可能比清除其每个属性更容易
// Beats writing more than one line
global = [[GlobalObject alloc] init];
[self dismissViewControllerAnimated:YES completion:nil];
您如何测试内存使用情况?尝试使用分配工具查看内存分配的位置。听起来你要删除的东西使用的内存比你预期的要少。我试试这个。谢谢