Qt 关于跳转页面后当前页面(委托delegate)数据丢失的问题

Posted 流若浅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt 关于跳转页面后当前页面(委托delegate)数据丢失的问题相关的知识,希望对你有一定的参考价值。

     这个是一个很低级的错误,之前po主急着完成任务,也是没注意看,窗口跳窗如下图所示:

 

 

这个过程中都是click促发槽然后B*pB,pB->show,同理A*pA,pA->show,这个过程中就出现了内存泄露,因为窗口是不停的new然后show,

就算当前是有数据的,但是new出了新窗口,旧的没有了,即旧的数据没有存在新的窗口上,因为嵌入式开发板子的内存不是很大,如果用长久时间,

这样的算法肯定炸了,下图是5分钟前后内存使用对比:

5分钟之前:

 

5分钟之后:

 

本身板子内存就不是很大,例如1G,五分钟吃100MB,暂且不说说句丢失【就算你保存文本然后在读取去解决】用不了一个小时,这个机器就因

内存耗尽而死机从而影响用户体验。

 

解决办法:

 

 

不用new出新指针,灵活去使用show跟hide,并且在析构函数中判断下,之前窗口的指针是否存在,存在就delete,以防内存泄露,初始化NULL。

所以这个需要多注意,不能由于急救忘记了这些重要的东西,虽然po主经常忘事。.......

 

技术在于交流,经验在于分享...来自流若浅。

 

以上是关于Qt 关于跳转页面后当前页面(委托delegate)数据丢失的问题的主要内容,如果未能解决你的问题,请参考以下文章

Qt/QML:在加载程序加载后访问 ListView 以跳转到特定项目/页面

求教一个关于django的 页面跳转的问题

委托delegate与Dictionary实现action选择器

iOS delegate 实现页面之间的传值

Web Service

iOS学习之六种传值方式