如何在smalltalk中收集垃圾?

时间:2013-11-19 13:50:50

标签: smalltalk

在我的图像中,我有大量的某个对象实例,我想确保它们是必需的。我怎样才能进行全局垃圾收集?

2 个答案:

答案 0 :(得分:3)

在工作区中运行以下命令:     系统globalGarbageCollect

答案 1 :(得分:1)

如果你对控制对象更加偏执,你可以做这样的事情(来自Pharo):

(PackageInfo named: 'YourPackageName') classes do:[:each |

    each allInstances do: 
        [:e | e breakDependents. 
                          e releaseActionMap. 
                          e isMorph ifTrue: [ e abandon]
                    ]
    ].

然后你可以按照已经建议的方式进行垃圾收集。 这是极端的,几乎总是不必要的。