在弹出VC时减少释放100万个对象的时间

Vin*_*nny 5 memory-management dealloc ios automatic-ref-counting

我们当前的iOS应用程序必须从服务器下载超过一百万个对象,并且我们将它保存在一个阵列中以用于某些目的.当用户完成此功能并且应用程序需要一段时间才能返回上一个屏幕(约15秒)时,因为正在释放100万个对象.我们可以从仪器上看到,在此期间(15秒),计数从100万增加到0.有没有办法加速数组中这些1 mn对象的释放?

OlD*_*Dor 3

我建议您不要尝试更快地释放这些对象,而是更慢地释放它们。

  1. 将所有这些物品放在其他地方。创建一些单例[ObjectsManager sharedInstance],它将负责下载并保存所有这些对象NSMutableArray
  2. 每当您需要在其他 VC 中使用这些对象时。
  3. 当您完成后,告诉您的[[ObjectsManager sharedInstance] removeAllDownloadedObjects],这会慢慢地将它们从您的 中删除NSMutableArray
  4. 不要编写,而是部分地进行——使用or[myArray removeAllObjects]每秒删除 20000 个对象。NSOperationGCD