Когда освобождать GObject?

Когда удалять ссылку на GObject, а когда освобождать?
руководство по GObject утверждает, что объект GObject должен быть отключен и освобожден, но разве объект GObject не должен фактически освобождать себя в том и только в том случае, если его счетчик ссылок упадет до 0?


person drakide    schedule 20.04.2012    source источник


Ответы (1)


В этом руководстве описывается, как и когда созданный на заказ класс GObject должен освобождать свои внутренние данные. В частности, разница между методом dispose и методом finalize.

Когда вы создаете GObject, вы должны только удалить ссылку на него и никогда освобождать его, иначе вы полностью обойдете систему подсчета ссылок и, возможно, вызовете авария в другом месте.

person ptomato    schedule 20.04.2012
comment
Извините, я перепутал self-›priv-›a_string в функции finalize с self-›priv-›an_object в функции dispose. Это будет означать, что объект не указан и освобожден. Моя вина. - person drakide; 21.04.2012