不好意思,我又来吐槽了,请官方给一个严正的解释,你们的cocos2d-x已经出了多少个版本了,为什么还有内存泄露(vld检测),3.1.1新建的工程
Visual Leak Detector detected 31 memory leaks (2604 bytes).
不给个解决方案,这帖子就沉不了了。基本素质啊,各位程序员同胞们,很难想象这引擎里面还有多少内存泄露。。。
免费的东西,别这么说了! 我想免费写个框架不太容易吧!
你这种思想是不对的
第一,一个-x已经不知道给触控带来了多少收益,什么叫免费,没有利益的东西有人会去做么。
第二,做任何事情,要做就要做到最好,任何降低要求的话都是借口。
-x的内存泄露确实非常严重,我今天已经修复了好多。感觉-x的研发同学很不严谨。
毕竟人家是开源的,免费给你用就不错了,你感觉不好可以不用。没必要说这样的话来质疑别人。为什么是开源,就是可以让开发者们来不断完善引擎内部。作为一个开源的游戏引擎。我感觉cocos2dx从各个方面都做的相当不错。你要是找到bug可以想官方提供。只有这样才能把cocos2dx做的更好。用别人的东西要带着感恩的心!
坚决不沉贴,我继续发布3.1.1的重大内存泄露,我已经不知道怎么改了,请触控看着办
- 一个新建的工程,不改任何代码,存在内存泄露,这个前面已经说了
- 我自己找了一下内存泄露,在AppDelegate的析构里面加上
Configuration::destroyInstance();
ScriptEngineManager::destroyInstance();
这两行,没有内存泄露 - 继续添加我自己的代码,加入一些触摸、文件、精灵等操作,然后确保自己的代码没有没释放的内存,出现了1M多的内存泄露
- 继续在AppDelegate的析构中加入Director()::getInstance()->end();仍然有1M多的内存泄露,去掉或者加上前面两行均没有改善
请问触控的cocos2d-x引擎的各位大神,你们这是在写C++吗,你们是不是在写cocos2d-x java版啊,1M多的内存泄露,而且我没
办法改下去了,我不知道怎么改了,这是砸自己招牌的节奏吗?请触控尽快提供解决方案
我不管你触控现在要上市或是业内多么了不起,既然你在推你的2dx,既然想让广大用户去用,就得对它负责,对广大用户负责!!!
我刚接触cocos2d-x,我觉得吧,免费的,开源的,就是要大家发现bug,修复,共同维护,精益求精,更加完善。有bug,总需要去测试,修复,积累到一定量再发布。不可能为了一点bug就天天发布吧。就好像机械设计,设备有改进,总要到一定时间一起改进,而不是,哪个客户说这里不行,就改图纸,这个客户说那里不行,又改,那成什么样子了?图纸乱,售后服务更乱的。
词不达意,大概是这个意思,呵呵
毛线,开源免费就是触控的一个商业模式,商业策略罢了,后面跟着一堆公司都有合作关系,那些花了钱的,触控就专门的团队给他维护,你以为cocos2d-x那帮人不拿钱在那维护。开源免费就是个幌子,让我们在那不花钱给他测试找问题。libgdx是个java的免费开源游戏引擎,框架不知道比cocos2d-x好多少,官网还挂着donate要求捐助,就那么几个人在免费维护,我问你谁更值得同情。cocos2d-x那么多功能,真正用的有多少,放着内存泄漏这种原则性问题不管,使劲在那开发新功能,这是个什么心态,我想你是懂的。让我去issue,天晓得什么时候会给我解决
我的帖子你cocos2dx想删就删,你删一条我就加一条,总之我是横了心跟你拼了,不解决这个问题我绝不沉贴
顶一下吧,敢这么说的人真心不多。当初调试自己的游戏出来一堆内存泄漏以为自己写的不规范,结果是引擎有问题。身为一个C++引擎连最基本的内存泄漏都不去解决,脑子里只想着扩大经营了吧。lz虽然愤青了点但是这年头认真的人真的少了,拿来能做游戏赚到钱谁还想着内存泄漏?
-x的内存泄露我已经改完了 基本上对-x只做了两道三行代码的改动 其他的全部可以完成
唯一的一处泄露我不高兴改了,20个byte,我已经向官方提交bug了
http://www.cocos2d-x.org/issues/5664
这个内存泄漏看起来是脚本引擎引起的,可以在AppDelegate析构里加上ScriptEngineManager::destroyInstance();试试。其他内存泄漏,就是你说的加两三行代码就搞定的是怎么改的呢?求解决方案
新人准备学习 cocos2dx 看到你们发的这些帖子 我有点纠结了 到底该不该学这个框架。 大家来说说呢
我多添加了一个PoolManager::destroyInstance() 然后目前暂时没有泄露,不过以后难保。。老兄不用这么激动,我也鼓励你的行为,但是也要体谅开发人员,实际上撇开商业模式不讲,这个引擎确实帮了很多人的忙,而且也确实还不错,所为开源,就是大家一起搞嘛,在我看来如果cocos2d能够大普及,这也是件值得高兴的事
我发的那个东西是解决不了的 静态变量退出时引用了其他的单例 这个是设计的问题
处理方案也不是没有 要么加上判断单例是否存在的方法
要么注册doexist方法再做一次垃圾清理
不过没什么意义 这种事情让-x的人弄弄就好了
LZ这样不好,我赞同前面一些人的说法,开源的引擎做到这个份上已经不错了,你要是觉得这有问题那有问题,而且他们还利用了你,你大可以不用cocos2dx,去用libgdx啊。
发现了BUG,你可以去提啊,在这里叫有什么用?况且这里也不是官方的论坛
我的意见是,既然程序都要退出了,你还管他内存没回收?你还非要他内存回收干净才准许结束?自找麻烦
运行时,内存无限增加,无法回收,那才叫内存泄漏。程序退出时内存没回收不叫泄漏,这叫提高程序退出效率。
假设你程序运行了很久,想退出看内存泄露,你怎么判断是2dx本身的内存泄露,还是你自己代码的内存泄露,如果是2dx本身的内存泄露引起的你自己代码的内存泄露,你怎么办,站着说话不腰疼
有没有大牛给出解决方案啊
顶了,真心希望这个引擎越来越好