如何正确清理内存(概念,SWIFT)

时间:2016-01-19 08:14:02

标签: swift memory didreceivememorywarning

我有一个循环,我将对象(.append)添加到数组中并在Background-Task中删除它们一段时间后(dispatch_async(backgroundQueue,{) 在这个循环中,我的数组理论上有一个最大数量的对象,因为我正在移除旧对象。

我观察到的是,内存消耗很高(超过400MB),直到我收到didReceiveMemoryWarning警告并且我的didReceiveMemoryWarning被调用,有时应用程序崩溃。所以看起来我的清洁不起作用,但是 当在循环中间停止并等待几秒钟(比如10秒)时,我看到内存慢慢下降到我的预期值(60MB)。

所以我想我在概念上做错了。

如何正确地做到这一点?有没有办法像Java forcegc那样强制清理内存?

清理主任务中的对象(dispatch_async(dispatch_get_main_queue(),{)时,内存未达到限制,但GUI正在存储。

0 个答案:

没有答案