开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 1926|回复: 12
收起左侧

[分享] 死循环内存持续增加和cpu占用高的解决心得

[复制链接]
结帖率:80% (4/5)
发表于 2023-8-3 12:43:41 | 显示全部楼层 |阅读模式   广东省惠州市
本帖最后由 铅笔刀 于 2023-8-3 15:05 编辑

近期做的一个项目,需要使用死循环,先出现了cpu占用高,解决后,发现内存不断在累增

  
线程_启动 (&执行的程序, , )
子程序名返回值类型公开备 注
执行的程序  
判断循环首 ()
系统_处理事件 ()’加此命令解决CPU占用过高的问题
程序_延时1 (10)’加此命令解决CPU占用过高的问题
处理的程序 (句柄, data)

判断循环尾 ()15
子程序名返回值类型公开备 注
处理的程序  
参数名类 型参考可空数组备 注
句柄整数型
data整数型
变量名类 型静态数组备 注
a整数型 
b整数型 
a = 1
b = 2
‘这里执行代码

内存不断在累增是因为子程序 处理的程序 这里的变量a,b  这个变量是不变的,而我调用死循环是,不断重复赋值,导致内存累增,所以把变量移动到窗口创建完毕事件处,让其赋值一次即可。

此贴终结:调试中内存不断增加 编译出来运行 内存又不增加 奇TMD怪了。15.04更新


希望有遇到同类问题的作参考。






结帖率:80% (4/5)

签到天数: 26 天

 楼主| 发表于 2023-8-3 14:39:47 | 显示全部楼层   广东省惠州市
帅气与大侠 发表于 2023-8-3 13:55
原理上ab变量是局部变量,这个处理的程序()执行完成后,这个ab变量就会释放,内存增加不是ab变量的问题, ...

我的程序中 变量是自定义的  我是举例说明一下  改动位置后内存不增加了    本方法 仅供参考

点评

无语了 调试中内存不断增加 编译出来运行 内存又不增加 奇TMD怪了   广东省惠州市  发表于 2023-8-3 15:00
回复 支持 反对

使用道具 举报

结帖率:100% (2/2)

签到天数: 11 天

发表于 2023-8-5 08:02:36 | 显示全部楼层   贵州省*
不停增加的可能是调试出来的信息呢?
回复 支持 反对

使用道具 举报

结帖率:100% (18/18)

签到天数: 26 天

发表于 2023-8-3 14:43:39 | 显示全部楼层   福建省泉州市
b0y 发表于 2023-8-3 12:47
这样会导致内存增加吗?

循环速度快    而他cpu性能不足    就会出现类似情况
回复 支持 反对

使用道具 举报

结帖率:100% (53/53)

签到天数: 1 天

发表于 2023-8-3 13:55:48 | 显示全部楼层   福建省宁德市
原理上ab变量是局部变量,这个处理的程序()执行完成后,这个ab变量就会释放,内存增加不是ab变量的问题,cpu占用高是因为循环速度太快导致的,加了程序_延时(10)命令后,也就是10毫秒执行一次,降低循环速度,cpu就运算频率就低了,自然占用就少了
回复 支持 反对

使用道具 举报

结帖率:56% (22/39)

签到天数: 2 天

发表于 2023-8-3 13:35:47 | 显示全部楼层   江苏省无锡市
回复 支持 反对

使用道具 举报

结帖率:57% (4/7)
发表于 2023-8-3 13:22:10 | 显示全部楼层   浙江省嘉兴市
这个不会导致内存增加
回复 支持 反对

使用道具 举报

结帖率:80% (4/5)

签到天数: 26 天

 楼主| 发表于 2023-8-3 13:07:02 | 显示全部楼层   广东省惠州市
qck易语言 发表于 2023-8-3 13:05
啊,不是调用完子程序,局部变量就释放了吗

我这个是死循环 重复调用了
回复 支持 反对

使用道具 举报

结帖率:80% (4/5)

签到天数: 26 天

 楼主| 发表于 2023-8-3 13:05:44 | 显示全部楼层   广东省惠州市
b0y 发表于 2023-8-3 12:47
这样会导致内存增加吗?

我测试是这样  
回复 支持 反对

使用道具 举报

结帖率:70% (14/20)

签到天数: 24 天

发表于 2023-8-3 13:05:30 | 显示全部楼层   河南省郑州市
啊,不是调用完子程序,局部变量就释放了吗
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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