Руководство по actionscript. часть 2, стр. 109

Чтобы объекты могли быть деактивированы, любой класс, экземпляры которого регистрируются для получения событий или используют таймеры, должен предоставлять открытый метод для деактивации своих экземпляров.

Например, наш предыдущий класс ImageLoader должен определить метод, останавливающий внутренний интервал. Сейчас добавим подобный метод и назовем его dispose ( ). Имя выбрано произвольно; с таким же успехом мы могли бы присвоить данному методу имя kill ( ), destroy ( ), die ( ), clean ( ), disable ( ), deactivate ( ) или любое другое имя. Рассмотрим этот код:

package { import flash. events.*; import flash. utils.*;

public class ImageLoader { private var loadlnterval:int;

public function ImageLoader (delay;int = 1000) { loadlnterval =-setlnterval (loadlmage. delay);

}

public function loadlmage ( ):void { traceC’Now loading image…»); // Код загрузки изображения не приводится

}

public function dispose ( ):void { clearlnterval(loadlnterval);

}

}

}

Любой код, создающий экземпляр класса ImageLoader, должен в дальнейшем вызвать метод ImageLoader. dispose ( ) перед тем, как избавиться от этого экземпляра, как показано в следующем коде:

package { import flash. display.*;

public class SlideShow extends Sprite { private var imgLoader:ImageLoader; public function SlideShow ( ) {

// Создаем и сразу же избавляемся от экземпляра класса ImageLoader

imgLoader = new ImageLoader( );

imgLoader. dispose( );

imgLoader = null;

}

}

Сборка мусора в действии

В листинге 14.1 показана очень простая программа, демонстрирующая сборку мусора в действии. Программа создает объект класса Sprite, многократно отображающий сообщение в консоли для отладочной информации. Поскольку объект Sprite достижим только через локальную переменную, он становится доступным для сборки мусора сразу после завершения конструктора основного класса программы. При этом в программе также запущен таймер, который многократно создает объекты, занимая системную память. Когда объем потребленной памяти превысит допустимое значение, запустится сборщик мусора. В процессе сборки

мусора исходный объект Sprite будет удален из памяти и его сообщения перестанут появляться в консоли для отладочной информации.

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Оставить комментарий

Вы должны авторизоваться для отправки комментария.

Полезные ссылки
Случайные записи
  • 22.01.2011">Руководство по actionscript. часть 1, стр. 099
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 002
  • 04.03.2011">Руководство по actionscript. часть 5, стр. 034
  • 22.01.2011">Руководство по actionscript. часть 1, стр. 141
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 019
  • 13.03.2011">Руководство по actionscript. часть 3, стр. 103
  • 29.03.2013">Новые смартфоны от SONY выйдут в текущем году
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 034
  • 13.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.102
  • 17.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.131
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.98
  • 15.03.2011">Руководство по actionscript. часть 3, стр. 042
  • 14.03.2011">Руководство по actionscript. часть 3, стр. 076
  • 12.01.2010">Удобная твиттер лента в блоге на jQuery
  • 22.12.2011">Samsung производит процессоры A5 для Apple iPhone 4S и iPad 2
Опрос

Какие цвета вы предпочитаете?

View Results

Loading ... Loading ...