![]() |
|
||||||||||
|
|||||
|
Регистрация: Dec 2011
Сообщений: 31
|
Доброго времени суток.
Ситуация такая. Есть собственный CustomSprite (расширенный Sprite). На нем анимация из набора Bitmap'oв. При удалении спрайта следующим образом: while (tempUIComp.numChildren > 0) { while (Sprite(tempUIComp.getChildAt(0)).numChildren > 0) { Bitmap(Sprite(tempUIComp.getChildAt(0)).getChildAt(0)).bitmapData.dispose(); Sprite(tempUIComp.getChildAt(0)).removeChildAt(0); } tempUIComp.removeChildAt(0); } Посоветуйте как правильно его удалять и освобождать память. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Что, этот «код» ещё и работает?
|
|
|||||
|
Регистрация: Dec 2011
Сообщений: 31
|
А можно подробнее? Что неправильно?
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Этот код ужасен своим безумством. Надо ещё строчек tempUIComp.getChildAt(0)).getChildAt(0) добавить, чтобы вообще нельзя было понять, что происходит.
|
|
|||||
|
Регистрация: Dec 2011
Сообщений: 31
|
То есть, по-вашему, так все проще и понятнее?
var tempNumChildren:uint = _tempUIComp.numChildren; var tempSpriteNumChildren:uint; var tempObject:Object; var tempBitmapObject:Object; while (tempNumChildren > 0) { tempObject = _tempUIComp.getChildAt(0); tempSpriteNumChildren = Sprite(tempObject).numChildren; while (tempSpriteNumChildren > 0) { tempBitmapObject = Sprite(tempObject).getChildAt(0); Bitmap(tempBitmapObject).bitmapData.dispose(); Sprite(tempObject).removeChildAt(0); tempSpriteNumChildren--; } _tempUIComp.removeChildAt(0); tempNumChildren--; } |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
А по существу при таком безумном коде ответить невозможно.
И да, понятней не стало. Почему вы так уверены, что там на нулевой глубине обязательно будет битмап и больше ничего? |
|
|||||
|
Регистрация: Dec 2011
Сообщений: 31
|
Потому что я использую свой CustomSprite, в котором только Bitmap'ы, которые я добавляю программно (их n-ое количество).
Кроме изображений, я ничего туда не добавляю. |
![]() |
![]() |
Часовой пояс GMT +4, время: 19:48. |
|
|
« Предыдущая тема | Следующая тема » |
|
|