• 5556阅读
  • 4回复

QML Win7 内存泄漏吗 [复制链接]

上一主题 下一主题
离线soulcxf
 

只看楼主 倒序阅读 楼主  发表于: 2014-11-25
有人在Win7下发布过QML写的程序吗?
现在的情况是这样,我在WinXP下运行一个用QML编写界面的程序,程序长期运行没有发现问题
同样的程序在Win7下运行就会发现其内存一直在增长,只要切换其中的页面内存就会增长一点,持续操作程序内存会不断增长,有时超过800M以上,接着程序崩溃。里面有大多使用Rectangle、Text、 Image、TextInput等组件,也使用了 ListView、Flickable、ListModel等组件。
程序也通过VLD的调试测试,应该不是代码里的内存泄漏。现在没有头绪了,不知道谁可以帮我啊。
离线彩阳

只看该作者 1楼 发表于: 2014-12-02
有可能是代码的问题。
请检查是否滥用
Qt.createComponent
以及
component.createObject
这类函数。
另外有些情况会隐式调用创建对象的函数的,需要注意。
最后,Qt在不同平台的适配性还有待观察。在Windows 7下,请升级一下显卡驱动再看看是否仍然出现按这样的问题,毕竟Qt Quick 2.x程序依赖OpenGL。
上海Qt开发联盟,热忱地欢迎你的加入!
离线soulcxf

只看该作者 2楼 发表于: 2014-12-04
回 彩阳 的帖子
彩阳:有可能是代码的问题。
请检查是否滥用
Qt.createComponent
以及
component.createObject
....... (2014-12-02 13:57) 

感谢回复。
问题是这样的。我用官网上不带OpenGL的Qt库+vs2010编译的程序感觉内存泄漏很严重,我只是在一个Flickable里不停的拖动就能看到内存在不停地增长。后面换了一个带OpenGL的Qt库编译出来的程序明显感觉内存泄漏会少,拖动时内存增长相对很缓慢。
但是带OpenGL的Qt版本需要显卡至少支持OpenGL2.0才能正常运行。工控机上扩展显卡又比较麻烦。。。也不知道怎么解决。
离线彩阳

只看该作者 3楼 发表于: 2014-12-05
工控机,也就是说目前没有显卡驱动?Windows 7下?
最好还是安装显卡驱动吧,哪怕是离线安装也行。
上海Qt开发联盟,热忱地欢迎你的加入!
离线soulcxf

只看该作者 4楼 发表于: 2014-12-07
主板集成显卡,驱动肯定也都是装好了。那个泄漏在工控机上发现的。然后在我的虚拟机下测试,确实是有的。但是用OpenGL版本的库感觉会明显好点。

快速回复
限100 字节
 
上一个 下一个