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

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

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

Регистрация: May 2009
Сообщений: 47
По умолчанию Освобождение оперативной памяти

Добрый день.

Написал (ну точнее отрывками из разных примерах в хелпах скомпоновал).

Смысл скрипта такой: по клику на кнопку, выпрыгивает окно в котором пользователь выбирает файл, потом если все успешно то в js фу-ция addNumbers получает fileRef.data.readUTFBytes(fileRef.data.length);
Все отлично работает, НО если файл большой то оперативка сильно грузиться, если закоментировать строку
ExternalInterface.call("addNumbers", fileRef.data.readUTFBytes(fileRef.data.length));
то оперативка разумеется не будет грузиться, как очистить оперативку или удалить переменную? т.к. зачем её грузить флешом, если те же самые данные пойдут во флеш среду.

вот код:
Код AS3:
import flash.display.Sprite; 
import flash.events.*;  
import flash.net.FileFilter; 
import flash.net.FileReference; 
import flash.net.URLRequest; 
import flash.utils.ByteArray; 
 
var fileRef:FileReference=new FileReference();
 
fileRef.addEventListener(Event.SELECT, onFileSelected);
fileRef.addEventListener(IOErrorEvent.IO_ERROR, onIOError); 
fileRef.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecurityError);
 
btn1.addEventListener(MouseEvent.CLICK, buttonPressed1);
 
function buttonPressed1(e:MouseEvent):void
{
	var textTypeFilter:FileFilter = new FileFilter("Ссылки для проверки (*.txt, *.xml)", "*.txt;*.xml");
	fileRef.browse([textTypeFilter]);
}
 
function onFileSelected(evt:Event):void 
{ 
	fileRef.addEventListener(Event.COMPLETE, function():void{
		if (ExternalInterface.available) 
		{ 
			ExternalInterface.call("addNumbers", fileRef.data.readUTFBytes(fileRef.data.length));
			//datas='';
			//trace(fileRef.data.readUTFBytes(fileRef.data.length));
			//sdelete fileRef.data;
		}
		else return onErr();
});
	fileRef.load();
 
} 
function onIOError(evt:IOErrorEvent):void 
{ 
	return onErr();
} 
function onSecurityError(evt:Event):void 
{ 
	return onErr();
}
function onErr():void
{
	ExternalInterface.call("OnErr");
}
Спасибо большое заранее.
Вложения
Тип файла: rar getfile.rar (8.2 Кб, 34 просмотров)


Последний раз редактировалось ntro123123; 10.09.2011 в 10:08.
Создать новую тему Ответ Часовой пояс GMT +4, время: 21:43.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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