![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Feb 2008
Сообщений: 890
|
Есть сайт с самостоятельными страницами-флешками. Флешки полноценные, тяжелые, со своими динамическими загрузками других флешек и всяких графических и текстовых материалов, присутствует использование битмэпдаты.
Понадобилось сделать проектор - локальную версию этого сайта в exe-нике, где через меню можно открывать эти флешки. Загружаю с помощью MovieClipLoader одну флешку, потом, когда настает время грузить вторую, удаляю с помощью removeMovieClip первую и гружу вторую и т.д. В виндах в Task Manager использование памяти постоянно растет. Как правильно очищать память, учитывая, что грузятся не просто графические объекты, а полноценные фильмы, в которых динамически происходит создание множества объектов и загрузка различного содержимого?
__________________
скриптограф |
|
|||||
|
Регистрация: Feb 2008
Сообщений: 890
|
Все-таки попытаюсь спросить еще раз как высвобождать память. Начнем с легкого примера:
Смотрю в Windows Task Manager. Жму на clip1 память резко отжирается, жму на clip2 - с памятью ничего не происходит, жду долго - ноль эффекта. Но, если нажать еще раз на clip1, то память сокращается, но на примерно вдвое меньшее число, чем то число, на которое она увеличилась при нажатии на clip1 - этого я вообще понять не могу, ибо для меня это как-то все алогично...
__________________
скриптограф |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Он настолько хитер, что практически всегда ничего не делает
![]() |
|
|||||
|
Регистрация: Feb 2008
Сообщений: 890
|
У меня взрывается мозг, когда я начинаю думать о том, как мне не захламлять память и удалять все, что можно и нужно удалить. Я не понимаю как это работает - объясните пожалуйста подробно кто-нибудь.
__________________
скриптограф |
|
|||||
|
Banned
[+5 15.02.09]
[++5 15.02.09] Регистрация: Mar 2008
Адрес: Krasnoyarsk
Сообщений: 587
|
Незнаю на сколько он хитер но у меня все освобаждается. И как не странно в ваших таймзеро и дестени тоже :/
var arr:Array = []; for(var i:Number = 0; i<1000000; i++) { arr.push(i); } _root.onMouseDown = function():Void { delete arr; delete i; var str:String = '' for(var vr in _root) str += vr+'='+_root[vr]+'\n'; mx.controls.Alert.show(arr+'\n'+str, 'array'); } По мне так лучше б C/C++ подобие ![]() |
|
|||||
|
Регистрация: Feb 2008
Сообщений: 890
|
qazwsx, странно это как-то все... не возвернул опять же 4 метра памяти из 10 отъетой в вашем примере...
__________________
скриптограф |
|
|||||
|
Banned
[+5 15.02.09]
[++5 15.02.09] Регистрация: Mar 2008
Адрес: Krasnoyarsk
Сообщений: 587
|
У меня сьедается ~80 мегобайт и освобождается столько же. До запуска 100мег занято, до нажатия 170-180, после нажатия ~100.
|
|
|||||
|
Регистрация: Feb 2008
Сообщений: 890
|
Цитата:
т.е. 80 с чем-то метров отжирает, 30 с чем-то взад не возвращает
__________________
скриптограф |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:48. |
|
|
« Предыдущая тема | Следующая тема » |
|
|