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

Project1

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

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

[复制链接]

Lv4.逐梦者

梦石
0
星屑
9163
在线时间
466 小时
注册时间
2015-5-8
帖子
866
跳转到指定楼层
1
发表于 2021-7-5 06:20:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
经常在 def main 看到注释释放窗口四个字,请问下释放窗口是不是就是关闭当前窗口的意思啊?

Lv4.逐梦者 (版主)

梦石
0
星屑
9532
在线时间
5073 小时
注册时间
2013-6-21
帖子
3580

开拓者贵宾剧作品鉴家

2
发表于 2021-7-5 09:25:43 | 只看该作者
更准确来说是删除窗口并释放该窗口占用的内存资源。这样执行后窗口会立即消失,看着像关闭了。

评分

参与人数 1+1 收起 理由
taeckle + 1 明白了!

查看全部评分

回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21599
在线时间
9411 小时
注册时间
2012-6-19
帖子
7117

开拓者短篇九导演组冠军

3
发表于 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-11-10 19:37

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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