ios - 如何释放全局变量的内存?

标签 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;

[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/

相关文章:

iOS 6 Facebook 发布过程以 "remote_app_id does not match stored id"结束

ios - 如何使用 Swift 更改 iOS 8 自定义键盘高度?

ios - 如何快速创建 UnsafeMutablePointer<CGPoint> 对象

ios - UIScrollView内的UILabel上的触摸检测

iphone - CorePlot 中的多个 y 轴

xcode - 无法点击 UITextField (iOS 6)

iphone - objective-c 中的平均信号强度

objective-c - 在登录页面获取用户 ID

ios - Objective-C:实时位置更新

objective-c - NSOutlineView 缩进问题