我想在退出后释放所有全局变量的内存。因为,在我注销后,内存不会下降。我正在使用 ARC。
我试过这段代码,但它不起作用。
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];
最佳答案
您要清除的物体有多大?可能是它们太小了,您没有注意到任何可见的内存变化。
查看 Apple's guide在 Instruments 工具上,特别是泄漏部分
请注意,您可能还有一个 retain cycle , 这样可以避免内存被清除,也不会出现在仪器中
附带说明一下,如果您要清除全局对象的所有属性,那么用一个新实例替换它可能会更容易,而不是清除它的每个属性。
// Beats writing more than one line
global = [[GlobalObject alloc] init];
[self dismissViewControllerAnimated:YES completion:nil];
关于ios - 如何释放全局变量的内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25179488/