(1)、Leaked memory: Memory unreferenced by your application that cannot be used again or freed (also detectable by using the Leaks instrument).
(2)、Abandoned memory: Memory still referenced by your application that has no useful purpose.
(3)、Cached memory: Memory still referenced by your application that might be used again for better performance
其中 Leaked memory 和 Abandoned memory 都属于应该释放而没释放的内存,都是内存泄露,而 Leaks 工具只负责检测 Leaked memory,而不管 Abandoned memory。在 MRC 时代 Leaked memory 很常见,因为很容易忘了调用 release,但在 ARC 时代更常见的内存泄露是循环引用导致的 Abandoned memory,Leaks 工具查不出这类内存泄露,应用有限。
xcode8 打开Instruments;
1.快捷键打开 command +shift + i 或者Xcode->Open Developer Tool ->Instruments
出现如下界面 :
选择leaks .
2.运行Xcode上的项目 然后在
然后在运行leaks. leaks上面会显示红色方块 红色方块就是leaks.
3.点击红色小方块
然后选择details->call tree ->call tree
4.设置过滤状态 选择 选中Invert Call Tree 和Hide System Libraries.
效果如图
有的xcode不一样 如下
然后双击 symbol Name 里面的leaks 名字 就可以跳到 内存泄漏的部分
5. 如果 显示的是16进制的数据 不是代码的话 那么需要设置一下xcode 选择Bulid Settings 里面的 debug in 选择第二个 DWARF with dSYM File.
到此就完成了 小伙伴们 去实验吧.