如果有一个应用程序并且我们启动了它,我们可以使用 Instruments 每秒查看内存使用情况,但是如果在初始化过程中,内存瞬间飙升至 60MB,然后又下降,该怎么办? (例如一些大型图形上下文和位图以及 CALayers)。
有没有办法查看应用程序启动以来的最大值?我想到了一个穴居人的方法,即在我们分配了大的图形上下文、位图和CALayers之后添加一个虚拟循环,比如说一百万或一千万,这样内存使用量在几秒钟内是恒定的,并且可以可以在仪器中看到。
但是如果有5层,我们应该分配一个图形上下文,获取位图,并将其设置到该层,然后立即释放图形上下文,因为它不再需要了,这样会更好。然后我们继续处理下一个图形上下文、位图和图层等,而不是创建五个图形上下文、位图,并在最后释放所有五个。但要执行穴居人方法,我们需要在每次发布之前将虚拟循环添加到所有五个位置。有更好的方法吗?
最佳答案
使用泄漏或分配模板并选择分配工具。分配工具旁边有一个图表。单击图表上方的时间线并按住鼠标按钮。当您沿着时间线拖动时,Instruments 将显示该时间点分配的内存总量。
泄漏和分配模板之间的区别在于,泄漏模板将分配工具设置为跟踪所有分配,而分配模板将分配工具设置为仅跟踪事件分配。
关于iphone - 有没有办法查看 iOS 应用程序自启动以来的最大内存使用量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11989913/