【问题标题】:When to free a GObject?何时释放 GObject?
【发布时间】:2012-04-21 04:33:18
【问题描述】:

何时取消引用 GObject 以及何时释放它?
GObject tutorial 声明一个 GObject 应该不被引用释放,但 GObject 不应该真正释放自己当且仅当它的引用计数下降到 0?

【问题讨论】:

    标签: memory-management glib gobject


    【解决方案1】:

    该教程描述了自定义 GObject 类应该如何以及何时释放其内部数据。具体来说dispose方法和finalize方法的区别。

    当您创建一个 GObject 时,您应该取消引用它并且从不释放它,否则您将完全绕过引用计数系统并可能在其他地方导致崩溃。

    【讨论】:

    • 对不起,我把 finalize 函数中的“self->priv->a_string”误认为 dispose 函数中的“self->priv->an_object”。这意味着对象未引用被释放。我的错。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-02
    • 2014-10-09
    • 1970-01-01
    • 2011-01-30
    • 1970-01-01
    • 2011-09-15
    • 1970-01-01
    相关资源
    最近更新 更多