|
发表于 2007-10-22 14:13:40
|
显示全部楼层
引用第0楼Red_Wolf于2007-04-01 09:01发表的 GameCache应用教程 :
方式1:
使用该方式缓存结构无法被删除,但是游戏缓存项所占内存是很小的,100万条Integer类缓存项才占用60多M内存,使用FlushStoredInteger也能大量减少内存占用。并且对于Timer Trigger等一些对象,即使用该方式存储数据,我们也可以用FlushStoredMission来直接删除缓存类,因为这些东西是不会在两个不同的技能或系统中使用的。所以我们也可以将数据更多的绑定在Timer以及Trigger上,而不是Unit上。
而且很重要的一点,缓存项数量的增加,并不会影响到缓存的操作速度,更不会影响到游戏速度。
方式2:
这种存储方式条理比较清晰,并且在清空数据时会比较方便,但是会产生数量很大的string对象,在测试中创建100万个7位数字转换的string需要占用200多M空间,并且很难让人接受的是,当string数量增加后,对string的操作效率会急剧下降,即使只是对string变量的简单赋值而已。不过值得庆幸的是,string是独自使用一块内存区域的,所以string对象的大量存在对string以外的其它操作并不会有影响。
.......
555...... |
|