跳到主要内容

clean_up

名称

clean_up - 在不活动(inactive)的对象中定期呼叫此方法

语法

int clean_up( int inherited );

描述

驱动程序会定期呼叫所有已经一段时间不活跃的对象中的 clean_up() 方法。这段时间的长短在运行时配置文件中指定。

参数对克隆对象(clone)来说是 0。对蓝图对象(blueprint)来说,它是该程序当前的引用计数:普通加载且无人使用的对象为 1;存在克隆、被其它程序继承、或驱动的函数调用缓存仍持有引用时会更大。大于 1 的值应视为“该程序正在(或最近曾)被使用”的提示,而不是精确的继承数量,此时不建议摧毁对象。

如果 clean_up() 返回 0,此方法在这个对象中不再重复呼叫,除非对象用 request_clean_up() 重新请求。如果返回 1,在指定的 clean_up() 延迟时间后对象还是不活动时,会再次呼叫 clean_up() 方法。

通常对象使用此方法摧毁自己以节省内存,不过一般不会摧毁引用计数大于 1 的对象。

翻译