用仪器进行内存分析

问题描述

| 我尝试使用Instruments来分析应用程序,以查看该应用程序正在使用多少内存以及是否存在泄漏。 经过一点调整后,我摆脱了几次泄漏,现在没有任何泄漏。但是,我注意到每次我推一些视图控制器并将其弹出时,内存都会增加,然后再降低一点,但不会达到推送之前的水平,例如实时字节显示 推送前1.8 MB 推送后2.1 MB 弹出后2.0 MB 第二次推送后为2.1 MB 有趣的是,在第二次(甚至十次)推动它之后,它并没有超过先前的值,因此尽管看起来像是泄漏,但它可能是某种缓存或某种东西。我首先认为它是我的代码特有的,但是后来无论内容多么简单,我都可以用任何视图控制器对其进行重现。 对于这种现象是否有合理的解释,还是我在构建的所有示例中所做的事情都是完全错误的?     

解决方法

那就是自动释放池的b / c和应该为您释放的内存。它会保留所需的时间。当您将更多viewControllers推入堆栈时,会创建更多自动释放的对象。其中一些将在其他版本之前发布,但是会及时发布,因此您的内存波动是正常的。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...