Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 05.11.2004, 14:30
Whatsername вне форума Посмотреть профиль Отправить личное сообщение для Whatsername Найти все сообщения от Whatsername
  № 1  
Whatsername

Регистрация: Jul 2003
Адрес: Петербург
Сообщений: 432
По умолчанию Циклические ссылки

Гари Гроссман (мужчина, придумавший Action Script) пишет о неких «циклических ссылках».

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

Спасибо большое.

Старый 05.11.2004, 20:42
Antares вне форума Посмотреть профиль Найти все сообщения от Antares
  № 2  
Antares
Banned
[+1 16.05.2006]
[++1 16.05.2006]
[+ 1 21.05.06]
[++ за хамство]
[+1 21.05.2006]
 
Аватар для Antares

Регистрация: Dec 2003
Сообщений: 3,925
Я так понимаю, циклические ссылки это что-то типа следующего:

Код:
var a = {variable:"A"};
var b = {variable:"B"};
var c = {variable:"C"};

var d = a;
a = b;
b = c;
c = d;

trace(a.variable);
trace(b.variable);
trace(c.variable);
Однако, для меня остается загадкой, как неиспользуемые объекты могут при этом ссылаться друг на друга... Раз есть ссылки -- значит, они как-то да используются. Компилятор будет определять, что мне нужно в проекте, а что -- нет?

Старый 07.11.2004, 22:28
Whatsername вне форума Посмотреть профиль Отправить личное сообщение для Whatsername Найти все сообщения от Whatsername
  № 3  
Whatsername

Регистрация: Jul 2003
Адрес: Петербург
Сообщений: 432
Наверное, циклические ссылки это что-то похитрее.
Или переводчик пятого Мука что-то нахитрил.

Старый 07.11.2004, 22:44
Antares вне форума Посмотреть профиль Найти все сообщения от Antares
  № 4  
Antares
Banned
[+1 16.05.2006]
[++1 16.05.2006]
[+ 1 21.05.06]
[++ за хамство]
[+1 21.05.2006]
 
Аватар для Antares

Регистрация: Dec 2003
Сообщений: 3,925
Если скажешь главу, посмотрю в оригинальном, может, поймем, что имелось ввиду

Старый 07.11.2004, 23:35
Штрек вне форума Посмотреть профиль Отправить личное сообщение для Штрек Найти все сообщения от Штрек
  № 5  
Штрек

Регистрация: Dec 2002
Адрес: Сочи
Сообщений: 2,819
Глава 15
стр.407
вроде всё там яснее ясного...

Старый 08.11.2004, 06:17
Antares вне форума Посмотреть профиль Найти все сообщения от Antares
  № 6  
Antares
Banned
[+1 16.05.2006]
[++1 16.05.2006]
[+ 1 21.05.06]
[++ за хамство]
[+1 21.05.2006]
 
Аватар для Antares

Регистрация: Dec 2003
Сообщений: 3,925
Цитата:
Periodic mark-and-sweep garbage collection eliminates objects containing circular references
Ну ведь и правда все ясно, если хоть каплю с программированием знаком и знаешь, что имеется ввиду под словом "ссылка".

"Чего не сделаешь ради дословности перевода" ?


Последний раз редактировалось Bad Habit; 08.11.2004 в 06:22.
Старый 09.11.2004, 11:01
Whatsername вне форума Посмотреть профиль Отправить личное сообщение для Whatsername Найти все сообщения от Whatsername
  № 7  
Whatsername

Регистрация: Jul 2003
Адрес: Петербург
Сообщений: 432
Большое спасибо, мужчины.
Низкий поклон =))

Старый 09.11.2004, 13:32
Джа вне форума Посмотреть профиль Отправить личное сообщение для Джа Посетить домашнюю страницу Джа Найти все сообщения от Джа
  № 8  
Джа

Регистрация: Nov 2004
Адрес: на Ямайке Любит. Знает.
Сообщений: 4
недавно Делимитер поведал мне о чудо-граблях, как раз на тему сборщика мусора и циклических ссылок.

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

суть в том, что объекты типа XMLNode, созданные в одном контейнере, и ссылающиеся друг на друга, не удаляются из памяти при удалении контейнера (что происходит с объектами других типов).

запустите этот код в стандалоун плеере, откройте таск манагер, и наблюдайте с какой скоростью увеличивается память, расходуемая приложением.
Код:
_global.x = "Jackdaws love my big sphinx of quartz...\t";
// делаем длиииинную строку
for (var i = 0; i<10; i++) {
	_global.x += _global.x;
}
//
this.onEnterFrame = function() {
	// удаляем клип тест
	test.removeMovieClip();
	// создаём клип тест
	this.createEmptyMovieClip("test", 1);
	//
	for (var i = 0; i<50; i++) {
		// создаём в клипе тест объект XMLNode
		test["node"+i] = new XMLNode(3, x);
		// ставим ссылку на объект, созданный в предыдущей итерации
		test["node"+i].link = test["node"+(i-1)];
		//
	}
};
this.onMouseDown = function() {
	// остановить
	delete this.onEnterFrame;
};
рекомендации лучших граблестроителей.
__________________
волны воют, а люди воюют.. всё зигзагообразно

Старый 09.11.2004, 13:39
Whatsername вне форума Посмотреть профиль Отправить личное сообщение для Whatsername Найти все сообщения от Whatsername
  № 9  
Whatsername

Регистрация: Jul 2003
Адрес: Петербург
Сообщений: 432
Клева! Спасибо.

Старый 09.11.2004, 19:28
Штрек вне форума Посмотреть профиль Отправить личное сообщение для Штрек Найти все сообщения от Штрек
  № 10  
Штрек

Регистрация: Dec 2002
Адрес: Сочи
Сообщений: 2,819
Так я и знал -
Нокса из Австралии турнули и он теперь на Ямайке...
Насчёт граблей - отличный вариант расплаты с недобросовестным работодателем...

Создать новую тему   Часовой пояс GMT +4, время: 17:31.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 17:31.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.