本文主要是介绍几个iOS的内存工具粗略介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1. FBRetainCycleDetector
facebook出的检测iOS强引用环的工具,该工具可以检测某个最大深度以下的环,可以作为日常debug版的检测工具。环的最大深度设置会显著影响性能,有向图算法性能,你懂的。目前默认为10。 此工具比较强大,检测的机制后面专门开文章介绍。此工具的检测源需要外部添加,因此引入了配套工具FBAllocationTracker。
2. FBAllocationTracker
此工具可以与FBRetainCycleDetector配套使用,可以产生FBRetainCycleDetector的检测源
3. FBMemoryProfiler
4. MLeaksSniffer
内存销毁检测工具,写了几个类的分类,可以检测该类的销毁情况。比如当UIViewController调用dismissviewcontroller时,使用swizzle,检测该对象引用计数,若不为0,则表示应该销毁该对象不能销毁,可能存在引用环。这个工具只支持某些类的某些情况。例如,UIViewController pop出来不检测,具体的慢慢补充~
5. PLeakSniffer
6. HeapInspector
堆内存工具,可以显示所有堆内存
7. MLeaksFinder
MLeaksFinder 一开始从 UIViewController 入手。我们知道,当一个 UIViewController 被 pop 或 dismiss 后,该 UIViewController 包括它的 view,view 的 subviews 等等将很快被释放(除非你把它设计成单例,或者持有它的强引用,但一般很少这样做)。于是,我们只需在一个 ViewController 被 pop 或 dismiss 一小段时间后,看看该 UIViewController,它的 view,view 的 subviews 等等是否还存在。
这篇关于几个iOS的内存工具粗略介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!