我有一个相当大的iPad应用程序,当我在xcode调试模式下运行应用程序时,它在Activity Monitor中显示大约50 MB,内存增长缓慢。 (大约每30秒大约0.1 MB。)但是当我直接从模拟器(已经安装在模拟器中)运行应用程序时,它在活动监视器中显示大约10 MB并且内存不会增长。(它的常量)。我已经通过仪器检查了性能,并且没有泄漏。
是否有人知道有理由为上述两种情况显示不同的记忆细节,哪一种是正确的?
还有一种方法可以通过控制台中的应用程序以编程方式打印消耗的内存吗?
答案 0 :(得分:1)
Activity Monitor是跟踪内存增长的一种无用的方法。 RPRVT有很多不同的贡献者,其中一些完全不直观。活动监视器当然可以用来弄清楚“呃,哦,它正在增长”,但不会超过这个。
使用仪器跟踪记忆增长。
当您说“在调试模式下运行”时,您是否有配置像僵尸跟踪或分配信息跟踪的任何内容?这将有助于记忆力的增长。
除此之外,分配工具通常会向您展示促进增长的因素。
还有一种方法可以通过控制台中的应用以编程方式打印消耗的内存吗?
这样的绝对数字不是很有用。应用程序正在增长是不好的,但原始数字不会告诉你为什么比Activity Monitor更有用。
使用仪器。 :)