我正在使用destroy()
方法,如下所示:
onPopTransitionEnded: {
page.destroy();
}
我的问题是这个destroy()
方法是否释放了页面及其子节点所占用的所有内存?
Page{
content:
Container{
ImageView{
//properties
}
}
}
destroy()
方法会破坏页面content
属性中的所有内容吗?
问我这个问题的原因是,当我使用QNX Memory分析仪观察内存时。我无法看到内存使用的减少。我还观察了设备监视器中应用程序的内存使用情况,因为我导航到下一页,它显示了内存使用的增量,但是当页面被销毁onPopTransitionEnded
时,内存使用了没有下降。
如果有任何工具可以帮助我观察内存使用情况,请告诉我。或任何可能对我有帮助的文件。:Helpsmilie:
答案 0 :(得分:2)
首先 - 是的,“detroy()”也会销毁你网页的所有隐式和显式子项,但不会销毁instantly:
请注意,在该对象内的对象上调用destroy()是安全的。调用destroy()后不会销毁对象,但会在该脚本块结束和下一帧之间的某个时间清除对象(除非您指定了非零延迟)。
您可以使用Component.onDestroyed()附加信号来确保删除对象。
当达到阈值存储器值时,似乎可以稍后释放存储器。您可以尝试通过创建和删除大量对象并使用内存来测试它。