设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3011|回复: 2
打印 上一主题 下一主题

[已经解决] 请问下释放窗口是不是就是关闭窗口的意思啊?

[复制链接]

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21484
在线时间
9389 小时
注册时间
2012-6-19
帖子
7114

开拓者短篇九导演组冠军

1
发表于 2021-7-5 12:50:13 | 显示全部楼层
表现上是关闭窗口

但从概念上来看,被关闭的窗口可以重新打开
而被释放的窗口表示这个窗口以后再也用不到了,需要的时候必须重新创建一个新的

  1. def hello
  2.   a = 123456789
  3. end
  4. hello
复制代码


就像这个 hello 方法里面的 a 一样,hello 方法执行完,这个 a 就再也用不到了,这个 a 就可以释放了,释放了的 a 也不再占用内存存着了
程序代码自动把用不上的 a 释放掉的功能叫“垃圾回收(GC)”,ruby 支持垃圾回收

而窗口精灵这些不是 ruby 自带的,所以 ruby 没法自动垃圾回收,
因此需要手动调用释放来通知程序这个变量再也用不到可以回收了

如果一个变量再也用不到了,但是又没有代码通知程序这个变量可以回收,那么程序占用的内存就会因为这些用不到的变量而越来越大,这就是“内存泄漏”

评分

参与人数 2星屑 +100 +2 收起 理由
RyanBern + 100 + 1 认可答案
taeckle + 1 全场最佳!

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-9-21 02:07

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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