硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4625|回复: 8
收起左侧

[emWin] 使用GUI_EndDialog关闭窗口,窗口中使用iconview,内存会泄漏

[复制链接]

2

主题

8

回帖

14

积分

新手上路

积分
14
发表于 2016-12-30 09:57:52 | 显示全部楼层 |阅读模式
今天在调试一个见面发现一个怪现象,我有一个界面,创建了个timer,和一个iconview,里面加了两个png图片,timer20ms检测一次一个io口状态,如果有变化就关闭窗口,我使用GUI_EndDialog关闭窗口,结果用GUI_ALLOC_GetNumFreeBytes()查看emwin内存使用情况,结果发现内存有泄漏,在调用这个界面之前内存剩余值为A,调用后为B,关闭界面后应该内存剩余值变成了C,C比A小,出现了内存泄漏;我把这个iconview改成button就没有这个问题,关闭窗口后就内存剩余值就能恢复到A。求高手指点
回复

使用道具 举报

2

主题

8

回帖

14

积分

新手上路

积分
14
 楼主| 发表于 2016-12-30 10:08:26 | 显示全部楼层
自己顶
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115728
QQ
发表于 2016-12-30 10:08:29 | 显示全部楼层
在对话框的回调函数里面添加一个WM_DELETE消息,在这个消息里面单独删除下ICONVIEW控件。

估计是这个控件不能够后随父窗口一起删除。
回复

使用道具 举报

2

主题

8

回帖

14

积分

新手上路

积分
14
 楼主| 发表于 2016-12-30 10:09:41 | 显示全部楼层

回 eric2013 的帖子

eric2013:在对话框的回调函数里面添加一个WM_DELETE消息,在这个消息里面单独删除下ICONVIEW控件。

估计是这个控件不能够后随父窗口一起删除。 (2016-12-30 10:08) 
谢谢 ,我试一下
回复

使用道具 举报

2

主题

8

回帖

14

积分

新手上路

积分
14
 楼主| 发表于 2016-12-30 11:36:49 | 显示全部楼层

回 eric2013 的帖子

eric2013:在对话框的回调函数里面添加一个WM_DELETE消息,在这个消息里面单独删除下ICONVIEW控件。

估计是这个控件不能够后随父窗口一起删除。 (2016-12-30 10:08) 
还是不行,我用ICONVIEW_DeleteItem删除了iconview里面的两个png,然后又删除了iconview,再释放窗口,还是不行,内存有6k左右泄漏了
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115728
QQ
发表于 2016-12-30 11:50:11 | 显示全部楼层

回 bifei1981 的帖子

bifei1981:还是不行,我用ICONVIEW_DeleteItem删除了iconview里面的两个png,然后又删除了iconview,再释放窗口,还是不行,内存有6k左右泄漏了 (2016-12-30 11:36) 
重复进入几次,是不是每次都减小6KB。
回复

使用道具 举报

2

主题

8

回帖

14

积分

新手上路

积分
14
 楼主| 发表于 2016-12-30 12:49:39 | 显示全部楼层

回 bifei1981 的帖子

bifei1981:还是不行,我用ICONVIEW_DeleteItem删除了iconview里面的两个png,然后又删除了iconview,再释放窗口,还是不行,内存有6k左右泄漏了 (2016-12-30 11:36) 
不是,一共只减少6k多点
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115728
QQ
发表于 2016-12-30 14:39:55 | 显示全部楼层

回 bifei1981 的帖子

bifei1981:不是,一共只减少6k多点 (2016-12-30 12:49)
这个属于正常,有些控件一旦使用了一次,即使被删除了,还是占用了一部分空间,估计是为了下次再次创建预留的。

如果一直在减小就不正常了。仅减小一次是正常的。
回复

使用道具 举报

2

主题

8

回帖

14

积分

新手上路

积分
14
 楼主| 发表于 2016-12-30 16:36:39 | 显示全部楼层

回 eric2013 的帖子

eric2013:这个属于正常,有些控件一旦使用了一次,即使被删除了,还是占用了一部分空间,估计是为了下次再次创建预留的。

如果一直在减小就不正常了。仅减小一次是正常的。

....... (2016-12-30 14:39) 
谢谢了,看来是这样的,我发现加入了图片,就会有这种情况发生,如果没有图片就没这种问题,应该是你说的[s:151]那样[s:151][s:151][s:151][s:151][s:151]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-5-14 18:32 , Processed in 0.340784 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表