目标C中的分配与重用

时间:2016-01-27 15:02:48

标签: objective-c memory pool

作为一个拇指规则,什么更好?

  1. 在我需要的时候分配一个新实例(在我的UIViewController的情况下)并解除分配("释放"我保留它们,因此允许它们被ARC取消分配)当我完成时,或;
  2. 维护可重用实例的动态池,因此即使它们未被使用也会保留在内存中。
  3. 我看到它的方式,分配新实例可能很难,但是避免了由于重用实例的意外状态导致的错误,以及在特定时间内实际需要的更多实例的内存负担。

    很想听听你的想法......

1 个答案:

答案 0 :(得分:4)

过早优化是浪费时间。在量化性能问题之前,除了保持代码合理并使用合理的算法之外,不需要进行任何优化。

在这种情况下,每次重新分配很可能不会成为可行的性能瓶颈来源。但是,在分配期间执行的任务可能是。例如,创建图像或加载资源而不是使用某种缓存。

但是通过缓存所述资源而不是作为视图控制器的相对宏对象,可以更好地解决这样的瓶颈问题。