标题:qml,用listview显示QList中30w条数据,删除QList,应用占的内存没有减少,是什么原因
作者:bobbyhz
日期:2012-02-14 18:27
内容:
xxxxxx.h
{
...
Q_PROPERTY( QList xmlNodeList READ getXmlNodeList WRITE setXmlNodeList NOTIFY xmlNodeListChanged)
public:
....
QList getXmlNodeList();
void setXmlNodeList(QList xmlNodeList);
...
signals:
.....
void xmlNodeListChanged()
....
private:
.....
QList xmlNodeList;
.....
public slots:
void test();
.....
}
--------------------------------------------------------------------------------------------------------------
xxxxxx.cpp
xxxxx::xxxxx(int &argc, char **argv):QApplication(argc,argv)
{
.....
for( int i = 1; i < 200000;i++)
{
xmlNodeList.append(new XmlNode("1","test1","test11"));
xmlNodeList.append(new XmlNode("2","test2","test21"));
xmlNodeList.append(new XmlNode("3","test3","test31"));
}
......
context->setContextProperty("thisApp",this);
....
viewer.setSource (QUrl("ui/main.qml"));
....
}
QList xxxxxx::getXmlNodeList(){
return this->xmlNodeList;
}
void xxxxx::setXmlNodeList(QList xmlNodeList)
{if(this->xmlNodeList !=xmlNodeList)
{
this->xmlNodeList=xmlNodeList;
emit xmlNodeListChan ..
#1 Re:qml,用listview显示QList中30w条数据,删除QList,应用占的内存没有减少,是 .. [bobbyhz 02-15 09:31]
自己先顶一个,问题比较大,请各位帮忙
#2 Re:qml,用listview显示QList中30w条数据,删除QList,应用占的内存没有减少,是 .. [bobbyhz 02-16 11:02]
自己在顶一下,不知道大家有没有遇到过内存没有释放的情况,感觉是qml这块没有做处理
#3 Re:qml,用listview显示QList中30w条数据,删除QList,应用占的内存没有减少,是 .. [toby520 01-17 14:44]
QML listview内存泄露确认严重,没有得到很好的释放,求助大侠
#4 Re:qml,用listview显示QList中30w条数据,删除QList,应用占的内存没有减少,是 .. [pxiao_xiao 03-01 08:52]
Note: There is no way for the view to know that the contents of a QList have changed. If the QList changes, it will be necessary to reset the model by calling QDeclarativeContext::setContextProperty() again.
也就是说 C++里清空List时 QML是无法知道的也就说 QML的内存需要手动清理