VB использует так называемый сборщик мусора "подсчет ссылок".
По сути, в тот момент, когда переменная выходит из области видимости, счетчик ссылок на объект, на который ссылаются, уменьшается. Когда вы присваиваете ссылку на объект другой переменной, счетчик ссылок увеличивается.
Когда счетчик достигает нуля, объект готов к сборке мусора. Ресурсы объекта будут освобождены, как только это произойдет. Локальная переменная функции, скорее всего, будет ссылаться на объект, число ссылок которого никогда не превышает 1, поэтому ресурсы объекта будут освобождены после завершения функции.
Установка переменной на Nothing
- это способ явного уменьшения счетчика ссылок.
Например, вы читаете файл и устанавливаете переменную объекта файла на Nothing
сразу после вызова ReadAll()
. Дескриптор файла будет выпущен немедленно, вы можете потратить время на обработку его содержимого.
Если вы не установите Nothing
, дескриптор файла может быть открыт дольше, чем это необходимо.
Если вы не находитесь в ситуации, в которой «необходимо разблокировать ценный ресурс», то достаточно просто вывести переменные из области видимости.