标签:.com 分享 watch instr style location tin png alt
全局内存使用情况(Overall Memory Use)
: 从全局的角度监测应用程序的内存使用情况,捕捉非预期的或大幅度的内存增长。内存泄露(Leaked memory)
: 未被你的程序引用,同时也不能被使用或释放的内存。废弃内存(Abandoned memory)
: 被你的程序引用,但是没什么卵用的内存。僵尸对象(Zombies)
: 僵尸对象指的是对应的内存已经被释放并且不再会使用到,但是你的程序却在某处依然有指向它的引用。在 iOS 中有一个 NSZombie 机制,这个是为了内存调试的目的而设计的一种机制。在这个机制下,当你 NSZombieEnabled 为 YES 时,当一个对应的引用计数减为 0 时,这个对象不会被释放,当这个对象再收到任何消息时,它会记录一条 warning,而不是直接崩溃,以方便我们进行程序调试。这里我们介绍下查找内存泄露的过程:
1、同「CPU 占用性能测试」一样,先在 Xcode 中对当前的项目执行 Profile (Command-I),并在打开的对话框中选择 Leaks
这个模板:
2、进入 Instruments 后,选择正确的设备和应用程序。
3、点击红色按钮运行应用程序,我们可以看到如下界面:
4、在 Display Settings 中勾选 Invert Call Tree
和 Hide System Libraries
或其他选项可以过滤显示的数据。
5、在导航栏的筛选框中,我们可以输入关键字来筛选数据。
6、在实际使用中,我们进入一个页面后再退出,发现相关的内存分配没有清空,这时候就发生内存泄露了。我们查看更细节的调用信息,追踪到可能造成内存泄露的代码位置:
Activity Monitor
、Allocations
、Zombies
等模板来针对性地做内存监测。Core Animation
+ Time Profiler
来评估图形性能,可以很直观的看到界面的性能是否良好。 标签:.com 分享 watch instr style location tin png alt
原文地址:http://www.cnblogs.com/somethingWithiOS/p/6032614.html