Bitmap и работа с памятью
Разбираюсь с тем как эффективно использовать память и не допускать её утечки. В одном из адобовских мануалов прочитал, что начиная с версии 10.1 флеш плеер использует одну BitmapData для создания нескольких одинаковых картинок, т.е. если я создам 100 картинок при помощи 1й BitmapData - у меня должно расходываться памяти на одну BitmapData. Решил проверить, сделал небольшой эксперимент
Код AS3:
Что я делаю не правильно? Как сделать так чтобы этот подход действительно давал прирост в производительности? |
Ваши битмапы висят не в памяти, а в дисплей листе. Удалите их оттуда перед вызовом gc и вся память осводобится.
На самом деле проблема в том, что вы неправильный тест написали. Сравните, сколько памяти у вас съестся, если вы добавите new Star() в количестве MAX_NUM*MAX_NUM, с тем вариантом, что есть сейчас. |
Цитата:
Как уже сказали выше, пока они в дислпей листе, сборщик мусора их не тронет, и они продолжат отжирать память веделенную под них виртуальной машиной |
Часовой пояс GMT +4, время: 18:08. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.