我可以用
创建一个全局对象JS_NewCompartmentAndGlobalObject
(SM 1.8.5)或类似的功能
但是如何删除全局对象。据我所知,全局对象是根的,因此没有GC的东西。最后我可以调用JS_DestroyContext但是要调用JS_GC我必须有一个上下文。什么时候收集全局对象垃圾?
答案 0 :(得分:1)
JS_DestroyContext
调用执行垃圾收集以回收上下文全局使用的内存。假设您在销毁上下文之前应将JS::Rooted
设置为JSVAL_NULL
,以便GC运行时没有全局的堆栈根。
答案 1 :(得分:0)
阅读此主题topic。如果要在将来删除它,则需要使用var
创建对象。或者,如果您不想使用它,只需将其null
。如果此对象是在没有var
的情况下创建的,则在您关闭窗口之前,GC不会对其进行处理。