繁体   English   中英

Memory 用仪器分析

[英]Memory profiling with instruments

我尝试使用 Instruments 分析应用程序,以查看应用程序使用了多少 memory 以及是否存在一些泄漏。

稍作调整后,我摆脱了一些泄漏,现在它没有显示任何泄漏。 但是,我注意到每次我推送一些视图 controller 并将其弹回时,memory 会上升,然后下降一点,但没有达到推送前的水平,例如Live Bytes显示

  • 推送前 1.8 MB
  • 推送后 2.1 MB
  • 弹出后 2.0 MB
  • 第二次推送后 2.1 MB

有趣的是,在第二次(甚至 10 次)推送之后,它并没有比之前的值增加,所以虽然它看起来像一个泄漏,它可能是某种缓存或什么的。 我首先认为这是我的代码特有的东西,但后来我几乎可以用任何视图 controller 重现它,无论内容多么简单。

这种现象是否有合理的解释,或者我只是在我构建的所有示例中做错了什么?

这发生在自动释放池的 b/c 和 memory 应该为你释放。 只要需要,它就会一直存在。 当您在堆栈上推送更多视图控制器时,会创建更多自动释放的对象。 其中一些会更早发布其他的,但它会非常及时,所以你的memory波动是正常的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM