AS3:我不需要通过引用计数为 GC 清空哪些引用?
AS3: What references do I NOT need to null for GC by reference counting?
我正在为我的所有 classes 编写处置方法,这样我就可以在完成处理后通过引用计数使它们的对象符合垃圾收集的条件。如果 class 变量用于 int
、uint
或 Number
,我不必在我的 dispose 方法中将其置空,对吗?包含这些数据类型的 arrays/vectors 呢?我也不必做 array.length = 0
,对吧?但我必须做array = null
。字符串呢?是否有任何其他数据类型我不必为空引用?
首先你为什么要做这样的事情,你什么时候调用那些处理方法?
在 FP 中,页面关闭时没有事件。 GC 足够聪明,可以处理几乎所有问题,而且您不必手动进行引用计数。
查看这篇文章:enter link description here
但是让我们把这个放在一边。
因此,在 AS3 中,您不必取消任何原始类型( String 、 Number 、 int 、 uint 、 Boolean ),也不必取消持有它的数组或向量(当我们说 GC 时,如果你想释放内存,你可以清除它和当 FP 或 Air 需要内存时,GC 将收集它)。
调用 array.length = 0 将截断数组,对象将从 GC 中收集(如果没有其他引用)。
字符串是不可变的,所以如果你有一个字符串类型的 var 来保存一些字符串,而不是分配给它 null 例如,原始字符串将保留到程序结束或者它会在某个时候被收集
我正在为我的所有 classes 编写处置方法,这样我就可以在完成处理后通过引用计数使它们的对象符合垃圾收集的条件。如果 class 变量用于 int
、uint
或 Number
,我不必在我的 dispose 方法中将其置空,对吗?包含这些数据类型的 arrays/vectors 呢?我也不必做 array.length = 0
,对吧?但我必须做array = null
。字符串呢?是否有任何其他数据类型我不必为空引用?
首先你为什么要做这样的事情,你什么时候调用那些处理方法? 在 FP 中,页面关闭时没有事件。 GC 足够聪明,可以处理几乎所有问题,而且您不必手动进行引用计数。 查看这篇文章:enter link description here 但是让我们把这个放在一边。 因此,在 AS3 中,您不必取消任何原始类型( String 、 Number 、 int 、 uint 、 Boolean ),也不必取消持有它的数组或向量(当我们说 GC 时,如果你想释放内存,你可以清除它和当 FP 或 Air 需要内存时,GC 将收集它)。 调用 array.length = 0 将截断数组,对象将从 GC 中收集(如果没有其他引用)。
字符串是不可变的,所以如果你有一个字符串类型的 var 来保存一些字符串,而不是分配给它 null 例如,原始字符串将保留到程序结束或者它会在某个时候被收集