在windows上检测内存泄露有很多方式:windgb、vld等、
对于windgb,它本身用着不太方便,检测少数的几个头文件还可以,但是文件数量多了,或者他人写的代码,就比较费劲了(相对于我来说,因为也可以使用python等脚本语言来做这个),最终我选择了vld
https://vld.codeplex.com/
这是官网,直接点击右侧的download下载一个exe,然后安装(记得关闭visual studio)
打开vs工程,复制vld.exe安装目录中的vld.h和另一个头文件,到VS工程中,
在appdelegate中包含vld。h的头文件即可。
它有一个缺点,就是必须要运行到有漏洞的头文件后,才可以检测出来,也就是说最好在工程开始的时候,就加入这个头文件,然后调试的时候,直接弹出这个log日志。这也是它的缺点吧。
在cocos2dx中使用vld,发现的疑问:
1、自己在init函数中new一基础类型,直接关闭exe程序,vld会打印出泄露log。但是,我自己添加一个图片到缓存,并关闭exe,却没打印出泄露的log。WHY?
2、疑问一难道和cocos2dx的生命周期有关?经验证,否。验证步骤:新建一个layer,然后replacescene,后发现缓存中依然有图片。
3、直接关闭exe程序后,会运行哪些程序?cocos2dx的生命周期,以及replacescene与CCTransitionScene效果的有什么不同?http://blog.csdn.net/sozell/article/details/42045253
原文链接:https://www.f2er.com/cocos2dx/340218.html