当前位置:  开发笔记 > 编程语言 > 正文

任何Haxe GC提示?

如何解决《任何HaxeGC提示?》经验,为你挑选了2个好方法。

最近我正在学习Haxe for Flash,我有一些ActionScript 3经验.

我注意到deleteAS3中有一个操作,是否有像deleteHaxe 这样的东西?是delete关于GC?有关Haxe新手关于内存管理的提示吗?



1> Marcus Stade..:

我对Haxe并不是很了解,但是deleteAS3中的运算符实际上并没有删除对象.你真的不能强迫AS3解构.的delete运算符用于删除提及一个动态对象的属性.例如:

var foo:Object {
    a: "Hello, ",
    b: "world!",
    toString: function () { return a + b; }
}

foo.toString() // Hello, world!

此匿名对象是动态的,可以添加或删除属性.就像哈希表一样.现在考虑以下内容:

delete foo.b;
foo.toString(); // Hello, undefined

删除发生时,foo释放它对属性的引用b,然后进行删除undefined.b但是,值不一定从内存中删除.如果其他人引用相同的值,它很可能会坚持下去.因此,delete仅删除引用,而不是实际值,因此不会强制您进行垃圾回收.



2> back2dos..:

马库斯已经解释了delete运营商的所作所为.要在Haxe中使用,请参阅此页面.

因此,等效HAXE的delete foo.buntyped __delete__(foo, "b").如果你打算经常使用它,我建议你把它放到一个函数中;)

推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有