destroy()方法是否释放了页面的内存?

时间:2015-01-27 09:07:39

标签: memory qt4 qml blackberry-10

我正在使用destroy()方法,如下所示:

onPopTransitionEnded: {
       page.destroy();
   }

我的问题是这个destroy()方法是否释放了页面及其子节点所占用的所有内存?

Page{
content:
Container{
ImageView{
//properties
}
}
}

destroy()方法会破坏页面content属性中的所有内容吗?

问我这个问题的原因是,当我使用QNX Memory分析仪观察内存时。我无法看到内存使用的减少。我还观察了设备监视器中应用程序的内存使用情况,因为我导航到下一页,它显示了内存使用的增量,但是当页面被销毁onPopTransitionEnded时,内存使用了没有下降。

如果有任何工具可以帮助我观察内存使用情况,请告诉我。或任何可能对我有帮助的文件。:Helpsmilie:

1 个答案:

答案 0 :(得分:2)

首先 - 是的,“detroy()”也会销毁你网页的所有隐式和显式子项,但不会销毁instantly

  

请注意,在该对象内的对象上调用destroy()是安全的。调用destroy()后不会销毁对象,但会在该脚本块结束和下一帧之间的某个时间清除对象(除非您指定了非零延迟)。

您可以使用Component.onDestroyed()附加信号来确保删除对象。

当达到阈值存储器值时,似乎可以稍后释放存储器。您可以尝试通过创建和删除大量对象并使用内存来测试它。