赞 | 7 |
VIP | 7 |
好人卡 | 58 |
积分 | 1 |
经验 | 111901 |
最后登录 | 2024-11-30 |
在线时间 | 386 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 70
- 在线时间
- 386 小时
- 注册时间
- 2007-7-27
- 帖子
- 4106
|
本帖最后由 trentswd 于 2016-4-6 21:49 编辑
js的变量基本上是个引用
虽然gc并不是用引用计数来实现的,但是可以用引用计数来理解
变量 --> 实际位图 var bitmap = new Bitmap();
然后你可以把变量赋空
变量 --> 空 bitmap = null;
实际位图
所以实际这个位图没东西引用他,因此下次gc就会被自动释放掉
然而
mv有一个缓存用始终引用所有bitmap
因此通过mv的loadEmptyBitmap载入的bitmap永远不会释放- ImageManager.loadNormalBitmap = function(path, hue) {
- var key = path + ':' + hue;
- if (!this._cache[key]) {
- var bitmap = Bitmap.load(path);
- bitmap.addLoadListener(function() {
- bitmap.rotateHue(hue);
- });
- this._cache[key] = bitmap;
- }
- return this._cache[key];
- };
复制代码 以上只供理解,我也不知道V8具体怎么实现的 |
评分
-
查看全部评分
|