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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 17.01.2002, 20:34
Lёlik вне форума Посмотреть профиль Отправить личное сообщение для Lёlik Найти все сообщения от Lёlik
  № 1  
Lёlik

Регистрация: Jan 2002
Сообщений: 4
По умолчанию Память кушает, нехороший...

Есть флэшка. Если она работат продолжительное время, то постепенно забирает под себя все больше и больше памяти.

Есть постоянно загружаемые XML-пакеты, которые загоняются в массив и, после преобразований, опять в XML
Так вот на этом этапе медленно, но верно флэшка забирает память.

Есть delete, но работает он мягко говоря, как-то неудачно.
Как еще следить за памятью? Или как корректно работает delete?

Код:
function XMLtoArray(a)
{
	node = a.firstChild.firstChild;
	Ar = new Array();
	i = 0;
	while (node != null)
	{
		node2 = node.firstChild; 
		Ar[i] = new Array()
		j = 0;
		while (node2 != null)
		{
			Ar[i][j++] = node2.firstChild.nodeValue;
			node2 = node2.nextSibling;
		}
		node = node.nextSibling;
		i++;
	}
	return Ar;
	delete Ar;
} 



function ArrayToXML(Ar)
{
	temp = '<?xml version="1.0" encoding="UTF-8"?><root>';
	for (j = 0; j<Ar.length; j++)
	{	
		temp = temp + '<r>';
		for (k = 0; k<Ar[j].length; k++)
		{
			c.appendChild('<r></r>')
			temp = temp + '<c>' + Ar[j][k] + '</c>';
		}
		temp = temp + '</r>';
	}
	temp = temp + '</root>';
	c = new XML(temp);
	lable1 = lable1 + c.status;
	return c;
	delete c;
}

Старый 18.01.2002, 12:26
Vaicartana вне форума Посмотреть профиль Отправить личное сообщение для Vaicartana Найти все сообщения от Vaicartana
  № 2  
Vaicartana
 
Аватар для Vaicartana

Регистрация: Jun 2001
Адрес: Блага
Сообщений: 483
Отправить сообщение для Vaicartana с помощью ICQ
По умолчанию еще бы...

а удалять подмассив кто будет, дядя?

Ар - ссылка на массив, не более. Перебирая элементы массива и делая их самих массивами ты тем самым выделяешь память под них, а удалять их забываешь.

И еще по секрету: после "return Ar;" программа обычно перестает выполнятся в текущей функции...
__________________
Трудно быть одному и ждать рассвет, как спасенье....

Старый 18.01.2002, 19:16
Lёlik вне форума Посмотреть профиль Отправить личное сообщение для Lёlik Найти все сообщения от Lёlik
  № 3  
Lёlik

Регистрация: Jan 2002
Сообщений: 4
По умолчанию У-у-у, какие мы хитрые.

Delete-ы в этом коде я мог бы и не проставлять - они не работают, от тестов остались.

Удалял я и массив и подмассивы - те же грабли. Пробовал пользоваться одним и тем же массивом - грабли еще хуже.

Работают ли вelete-ы, если их выносить за функцию? Надо ли здесь удалять передаваемые функции объекты?

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

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

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


 


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


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