Разница между sh и bash

В таймере 1 вы даете ему обратный вызов. В timer2 вы подключаете обработчик событий; это настраивает ссылку на ваш класс программы, что означает, что таймер не будет GCed. Поскольку вы никогда больше не используете значение timer1 (в основном так же, как если бы вы удалили var timer1 =), компилятор достаточно умен, чтобы оптимизировать эту переменную. Когда вы нажмете на вызов GC, ничего больше не ссылается на timer1, поэтому его «собрано».

Добавить консоль. Записи после вызова GC для вывода одного из свойств таймера 1, и вы заметите, что он больше не собирается .

1111
задан Jianxin Gao 19 August 2016 в 01:45
поделиться