Цитата:
|
Эти экземпляры будут индивидуальными, как любой экземпляр, и требовать свою память. Элементарно — Вы может нарисуете в рантайме что-то на "библиотечной" картинке, это же не должно изменить картинку-Класс в библиотеке, только личную картинку экземпляра.
|
А как же не рассказать про чудо оптимизации флешплеера?
Экземпляр то библиотечного класса создаётся каждый раз и занимает несколько байт, но блок памяти под картинку выделяется только перед попыткой изменить. Уже несколько лет назад адобовцы такую оптимизацию сделали.
Ну а если вы пишите new BitmapData(100, 100) - то тут уж сразу кусок выделяется.
Они пошли дальше: Загружаю картинку, отображаю на экране (не копируя в новую битмапу) - появляется на экране - начинает есть память, сдвигаю за пределы экрана - перестаёт
(Видимо jpeg распаковывают только когда надо, да ещё и убирают когда не используется)
Поначалу даже не понял в чём дело - загрузил разные блоки 2000x2000x24 - считаю - должно получиться +n мегабайт, смотрю в диспетчере задач - флешплеер всего ест в полтора раза меньше чем одни только эти распакованные картинки должны жрать.