很多朋友在面试中都会被问到这个问题,结果答地并不好,这是其实是实操的问题
我今天就和大家简单分享一下怎么使用这个leak检测工具.直接上图:
点击上面Profile ,稍等便可进入Xcode内部自带的instruments工具
点击进去后,点击左上角的红点,可以进行内存检测
这里可以内存多少,有多少对象内存泄漏
点击下边leak checks ,可以看到下边栏有三个选项 leak,Cycles & Roots, Call Tree,分别对应的是内存泄漏,循环引用,调用树. leak点击右边红框类可以进入内存泄漏的代码区域.
Cycles & Roots 可以看到循环引用的环,我的成环图找不到了,从Detail中是可以分为simple Cycle 简单环(两个对象),还是Complex Cycle复杂环(涉及多个对象引用成环).
Call Tree 就是调用堆栈,如果你的内存泄漏都是第三方框架之中,那么极有可能是你使用第三方不当所致,可以好好看一下调用堆栈,是哪里调用了.红框中区域表示内存的泄漏出现的概率.
下面是我找到的调用堆栈中泄漏代码中方法出处:人头标志是程序员自己写的代码
其实,还是那句话:第三方虽然简单,几句话搞定,但是你不懂原理,还是会使用出问题来.
写代码做事情,还是要知其然还要知其所以然才行.
今天分享就到这里了.
网友评论