Когда удалять ссылку на GObject, а когда освобождать?
руководство по GObject утверждает, что объект GObject должен быть отключен и освобожден, но разве объект GObject не должен фактически освобождать себя в том и только в том случае, если его счетчик ссылок упадет до 0?
Когда освобождать GObject?
Ответы (1)
В этом руководстве описывается, как и когда созданный на заказ класс GObject должен освобождать свои внутренние данные. В частности, разница между методом dispose
и методом finalize
.
Когда вы создаете GObject, вы должны только удалить ссылку на него и никогда освобождать его, иначе вы полностью обойдете систему подсчета ссылок и, возможно, вызовете авария в другом месте.
person
ptomato
schedule
20.04.2012
Извините, я перепутал self-›priv-›a_string в функции finalize с self-›priv-›an_object в функции dispose. Это будет означать, что объект не указан и освобожден. Моя вина.
- person drakide; 21.04.2012