![]() |
|
||||||||||
|
|||||
|
Регистрация: Oct 2007
Сообщений: 78
|
Товариши!
предлагаю собрать здесь все необходимые действия для того, чтобы объект мог быть удален GC. Например сейчас сделал перемещение предметов в слотах у пользователя в инвентаре. При перемещении используется метод BitmapData.clone(), и BitmapData.dispose(); Так же делаются эллементарые действия removeChild, displObj(DisplayObject) = null, removeEventListener, classObj(Объект класса).Destroy()(в дестрое делаются все действия чтобы объект мог удалить gc); Но этого как я заметил вовсе недостаточно. Давайте соберем все необходимые действия! ![]() Начну: Чтобы объект стал доступным для удаления с помощью GC необходимо: 1. если он является child'ом другого объекта нужно методом removeChild(At)() удалить его из списка child'ов. 2. удалить все листенеры этого объекта с помощью removeEventListener. 3. если есть какие то BitmapData которые надо удалить, то использовать метод BitmapData.dispose(); 3. необходимо чтобы на объект небыло внешних ссылок, для этого нужно все внешние ссылки приравнять к null. 4. Если объект является объектом вашего класса, то необходимо удалить все внутренние объекты как описано в пунктах 1,2,3. Для этого можно завести отдельный метод Destroy(), где и будет осуществляться зачистка. 5. Для верности приравнять ваш объект к null. Внимание! Список не полный! ![]() |
![]() |
Часовой пояс GMT +4, время: 10:33. |
|
|
« Предыдущая тема | Следующая тема » |
|
|