如何在vty-ui中进行垃圾收集(或发布收集)

时间:2014-05-10 21:38:23

标签: haskell

我正在学习vty-ui库。对于以下代码段:

main :: IO ()
main = do
  coll <- newCollection
  (ui1, fg1) <- mkFirstUI

  switchToFirst <- addToCollection coll ui1 fg1

我的问题是:如何删除switchToFirst?我的程序需要不断创建switchToFirst类型的类似对象,我不想在使用后将它们保存在内存中。但是在vty-ui库中我找不到释放函数。

1 个答案:

答案 0 :(得分:1)

比触发垃圾收集更好,GHC在需要时执行,你可以用

强制它

System.Mem.performGC

您可以通过使用

限制堆最大大小来阻止任务无限增长

+ RTS -Msize

在用户指南RTS options to control the garbage collector

中列出

检查此GHC advice area以提高内存效率。