本博叙述了在使用第三库的过程中,从发现其中有泄露到定位到泄露,最后解决内存泄露问题的全过程。适合有一定经验的iOS开发者观赏。
第三方库是个好东西
UNIX开发哲学至少排入前三名的至理名言告诉我们:
永远不要重复发明轮子
永远不要重复发明轮子
永远不要重复发明轮子
所以如果条件合适,就毫不犹豫的站在别人的肩膀上走起吧!
在欣赏和赞叹这些美妙库的同时,我们也要用批判的思维和实践去检查它们可能含有的BUG,才能避免翻车。
这不,本猫App使用的MFLHintLabel库就出问题了。
MFLHintLabel是一个标签(UILabel)动画库,为了讲解的目的,你只要知道这个就可以了,没必要再进一步了解它的使用了。
定位
再加入MFLHintLabel库运行后,通过内存图调试貌似发现有点不太妙: