zyalxl 发表于 2010-11-18 21:10:52

不知道是不是发现filelistview的一个bug

如果点击一个按钮,创建filelistview,再通过rtgui_view_destroy(RTUGI_VIEW(filelistview)) 删除(编程指南的例子中这么写的),好像并没有释放占用的内存空间,多按几次之后,系统崩溃。如果直接调用rtgui_filelist_view_destroy(filelistview)就没问题

ffxz 发表于 2010-11-18 23:08:35

是的,多谢反馈。

这个filelist_view对象实现得有些问题,应该把destroy实现到对象destructor函数中的。

zyalxl 发表于 2010-11-19 10:41:13

好像filelistview控件在某处申请了内存没有释放,在浏览文件夹的过程中,我发现每次浏览一屏文件,list_mem()都显示内存上涨(>1kB),并且不释放,这样浏览次数不用很多,系统内存耗尽就崩溃了。我试着跟踪filelistview部分代码,但是找不到,希望老大们费心找找看是不是一个bug

ffxz 发表于 2010-11-19 10:59:19

回复【2楼】zyalxl
好像filelistview控件在某处申请了内存没有释放,在浏览文件夹的过程中,我发现每次浏览一屏文件,list_mem()都显示内存上涨(>1kb),并且不释放,这样浏览次数不用很多,系统内存耗尽就崩溃了。我试着跟踪filelistview部分代码,但是找不到,希望老大们费心找找看是不是一个bug
-----------------------------------------------------------------------

确实是bug,当前这样写法,需要调用rtgui_filelist_view_destroy(filelistview);释放。这两天进行修正(构造一个destructor函数,把原来rtgui_filelist_view_destroy部分内容放到这个destructor函数中做析构)。
页: [1]
查看完整版本: 不知道是不是发现filelistview的一个bug