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

Project1

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

[交流讨论] 关于Cache模块,是否需要手动释放?

[复制链接]

Lv4.逐梦者

梦石
0
星屑
19284
在线时间
3074 小时
注册时间
2013-1-11
帖子
1288
1
发表于 2017-7-16 12:19:21 | 显示全部楼层
本帖最后由 张咚咚 于 2017-7-16 12:23 编辑

RUBY 代码复制
  1. module Cache
  2.   def self.first_load(path)
  3.     return unless path
  4.     @Cache = {} if @cache == nil
  5.     @cache[path] = Bitmap.new(path)
  6.   #rescue RGSSError
  7.      #msgbox "出现异常,释放所有图片可继续"
  8.      #Cache.clear
  9.    end
  10. end


我刚试了一下,读取一个图片10万次,会发现抛出一个异常
我觉得应该是内存满了什么的,一般情况下是占不满的我觉得,如果图片量过大
可以把那三行注释去掉,发现异常后自动释放所有图片
0.upto(100000){|i|
Cache.first_load("Graphics/Pictures/filename")
}

点评

一般情况下占不满,但偶尔会出现极端情况,比如某个外国人写的文字渐变脚本会把文字渐变bitmap保存到缓存中,用到中文游戏里字多时会崩……  发表于 2017-7-16 13:48

评分

参与人数 1星屑 +60 收起 理由
jhhuang + 60 问题已解答,谢谢各位。

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-7 10:04

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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