开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 772|回复: 8
收起左侧

[已解决] 内存释放函数的问题

 关闭 [复制链接]
结帖率:100% (4/4)
发表于 2024-1-10 16:46:22 | 显示全部楼层 |阅读模式   河南省周口市
40精币
  
子程序名返回值类型公开备 注
清理全局内存整数型 Optimize_memory
参数名类 型参考可空数组备 注
pid整数型
变量名类 型静态数组备 注
hProcess整数型 
hProcess = OpenProcess (2035711, 0, pid)
如果真 (SetProcessWorkingSetSize (hProcess, -1, -1) = 1)
CloseHandle (hProcess)
返回 (1)
CloseHandle (hProcess)
返回 (0)  ' 本源码来自易语言zy网(www.5A5X.com)
子程序名返回值类型公开备 注
清理内存 转到虚拟内存中去
SetProcessWorkingSetSize (-1, -1, -1)


上面这两个有什么不同吗?
区别是一个释放掉,一个是转到虚拟内存中取吗?
这个函数会损失硬盘吗?

  
EmptyWorkingSet (-1)


这个和上面两个有什么区别呢?




最佳答案

查看完整内容

两种方法各有优缺点。SetProcessWorkingSetSize 函数的优点是效率高,不会导致硬盘读写。缺点是可能无法释放所有不再使用的内存。EmptyWorkingSet 函数的优点是可以释放所有不再使用的内存,但效率较低,可能会导致硬盘读写。

回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值
结帖率:89% (8/9)

签到天数: 1 天

发表于 2024-1-10 16:46:23 | 显示全部楼层   福建省泉州市
两种方法各有优缺点。SetProcessWorkingSetSize 函数的优点是效率高,不会导致硬盘读写。缺点是可能无法释放所有不再使用的内存。EmptyWorkingSet 函数的优点是可以释放所有不再使用的内存,但效率较低,可能会导致硬盘读写。
回复

使用道具 举报

结帖率:100% (53/53)

签到天数: 1 天

发表于 2024-1-10 16:49:21 | 显示全部楼层   福建省宁德市
EmptyWorkingSet和SetProcessWorkingSetSize都是与进程的内存管理相关的函数,但它们的功能和使用场景有所不同。

EmptyWorkingSet函数主要用于清空进程的工作集。工作集是指一个进程当前正在占用的页面的集合。当一个进程不再使用某些页面时,操作系统可以将这些页面移至虚拟内存,只保留一小部分常规代码。调用EmptyWorkingSet函数可以释放进程占用的物理内存,从而降低内存占用率。

而SetProcessWorkingSetSize函数则是用来设置进程的工作集大小。通过这个函数,可以暂时改变应用程序占用的内存大小。然而,这并不意味着应用程序占用的内存会被永久地减少,因为当应用程序被激活或收到操作请求时,这些内存会被重新占用。此外,强制使用该方法来设置程序占用的内存可能会降低系统性能,因为发生缺页中断的频率会变高,系统需要频繁地进行内存和硬盘间的页面交换。

总的来说,EmptyWorkingSet主要用于清空进程的工作集,从而释放物理内存;而SetProcessWorkingSetSize则是用来暂时设置进程的工作集大小,但并不能保证应用程序占用的内存会永久减少。在实际使用中,需要根据具体需求选择合适的函数。
回复

使用道具 举报

结帖率:100% (53/53)

签到天数: 1 天

发表于 2024-1-10 16:50:39 | 显示全部楼层   福建省宁德市
这种函数的区别问题,可以直接问百du的 文心一言
https://yiyan.baidu.com/?from=baidu_pc_index
回复

使用道具 举报

结帖率:100% (4/4)
 楼主| 发表于 2024-1-10 16:55:11 | 显示全部楼层   河南省周口市
帅气与大侠 发表于 2024-1-10 16:50
这种函数的区别问题,可以直接问百du的 文心一言
https://yiyan.baidu.com/?from=baidu_pc_index ...

问了,还是想听听大佬们在大佬们实际中的运用操作。

点评

强/制俩字居然都被和谐。。。   福建省泉州市  发表于 2024-1-10 17:23
大佬可能不会用这俩东西清理内存,内存要自己在代码层面优化而不是用这些***清理。   福建省泉州市  发表于 2024-1-10 17:23
回复

使用道具 举报

结帖率:100% (9/9)
发表于 2024-1-10 18:53:22 | 显示全部楼层   广西壮族自治区崇左市
会影响硬盘, 毕竟调用后就会对硬盘进行读写操作, 而且这个函数没什么作用, 就跟鸵鸟把头埋土里一样
回复

使用道具 举报

结帖率:100% (4/4)
 楼主| 发表于 2024-1-10 19:52:23 | 显示全部楼层   河南省周口市
dldxdg 发表于 2024-1-10 16:55
问了,还是想听听大佬们在大佬们实际中的运用操作。

明白了,编程之路漫漫啊......
回复

使用道具 举报

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

本版积分规则 致发广告者

关闭

精易论坛 - 有你更精彩上一条 /2 下一条

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

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

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