gpt4 book ai didi

ios - Apple Instruments 在分析内存分配时会降低应用程序的速度

转载 作者:搜寻专家 更新时间:2023-10-30 20:19:06 24 4
gpt4 key购买 nike

在模拟器中运行我的应用程序并使用 Instruments 分析其内存分配时,该应用程序运行速度非常慢,它的运行速度不到正常速度的 1/30。

该应用程序使用大约 50 MB RAM 并拥有大约 900,000 个生命对象(根据 Instruments)。

这可能是性能缓慢的原因吗?

在不使用 Instruments 的情况下在设备或模拟器中运行应用程序时,它表现良好(除了我正在尝试调试的内存问题)。

  • 您知道如何解决这个问题吗?
  • 您是否遇到过使用内存分配时性能下降的情况仪器?
  • 你会考虑拥有超过 900,000 条生命吗“有关”的对象?

enter image description here

最佳答案

考虑到您的分析器性能问题

在您的特定情况下,没有必要长时间监控应用程序,因为您很快就会达到高内存消耗状态。此时您可以简单地停止录制。这样您就可以轻松浏览不同的 View 和统计信息来查找内存问题的原因。

分析内存问题

减速是正常的。 1/30 听起来相当惊人

您可能应该跟踪使用该应用程序时生命对象的数量和内存使用情况如何变化。

很难确定在特定时间点一定数量的生命对象是否是关键的(尽管 900,000 似乎很高)。

一般来说:如果生命对象和内存使用量持续增长并且没有减少,那是一个不好的迹象。

如果您看一下 Statistics -> Object Summary(屏幕截图),Live Bytes 应该比 Overall Bytes 小很多,并且#Living 对象的数量应该比 #Transitory 对象的数量小很多。

enter image description here

您可以查看的第二件事是Call Tree View 。它使您可以很好地了解应用程序的哪些部分负责保留大量内存:

enter image description here

可能的解决方案

一旦您检测到代码中负责保留大量内存的部分,您就可以查找保留周期,或者您可以尝试在该位置使用更多自动释放池。

关于ios - Apple Instruments 在分析内存分配时会降低应用程序的速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18212706/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com