如何释放程序吃掉的内存?
这段代码吃内存严重!
dw_1.object.t_t.x = string(integer(dw_1.object.t_t.x) - 15)
if long(dw_1.object.t_t.x) <= - long(dw_1.object.t_t.width) then
dw_1.object.t_t.x = string(dw_1.width)
end if
我用garbagecollect()不管用。
如何控制程序动态释放内存呢?
问题点数:100、回复次数:11Top
1 楼balloonman2002()回复于 2005-10-17 16:33:16 得分 20
在代码后加上yield()Top
2 楼wscft(努力工作,开心生活!))回复于 2005-10-17 17:15:57 得分 10
为什么呢?Top
3 楼bombshell(水中鱼)回复于 2005-10-18 08:21:04 得分 0
怀疑是pb得bug
我已经打了最新的补丁了。pb9.03_8546Top
4 楼bombshell(水中鱼)回复于 2005-10-20 09:09:08 得分 0
yield()是释放cpu吧,能释放内存吗?Top
5 楼lzheng2001(1加1)回复于 2005-10-20 10:37:48 得分 10
这个问题可能无解. 反正我用pb901不会像你说的那样占内存Top
6 楼bombshell(水中鱼)回复于 2005-10-20 13:32:05 得分 0
你的机器是不是装了什么优化软件,我在好多台机器上(不同配置和系统)测试都是吃内存呀。Top
7 楼bombshell(水中鱼)回复于 2005-10-20 13:35:21 得分 0
我测试了6个小时,开始时6558k
6个小时后76648k
6个小时吃了近70mb内存!!!!!Top
8 楼Libra_Chen(旗舰-巴巴罗萨)回复于 2005-10-20 14:50:46 得分 20
有没有什么对象没destroy?Top
9 楼chenqinzeng(长风大侠)回复于 2005-10-22 17:31:41 得分 20
晕倒,吃得这么历害呀,Top
10 楼ghostagain(心情卡片)回复于 2005-10-22 19:26:38 得分 20
看不出来代码会吃内存 可能是其他地方的代码有问题把
或是把获取属性的语句都改为用 Describe ( propertylist )函数获取试一下,Top
11 楼qingliu1(清流1)回复于 2005-12-20 10:13:22 得分 0
PB就这liao样。你一做循环,它的漏洞多多.大部分是PB内部问题BUG.
我在做RichTextEdit是也是这样.后来查到是RichTextEdit控件有问题。这种问题要么升级PB,要么自已手工生成用户对象,再在脚本中自动的产生与关闭.
IF ii_count > 5 THEN
w_main.SetRedraw ( false )
w_main.CloseUserObject( rte_1 )
w_main.OpenUserObject( rte_1 )
rte_1.x = 865
rte_1.y = 112
rte_1.width = 2574
rte_1.height = 1756
w_main.SetRedraw ( true )
ii_count = 0
END IF
你把rte_1改成dw_1, ii_count的大小(这里是5),自已实验,保证不出错就OK.
Top




