AntKarlov / Anthill-Framework

Tiny framework for creating Flash games.
57 stars 16 forks source link

AntTween removal #5

Closed vforsh closed 11 years ago

vforsh commented 11 years ago

Антон, а почему у AntTween нет никакого метода типа destroy? Это же потенциальный memory leak, или я что-то упускаю?

AntKarlov commented 11 years ago

Твин выполняется в течении заданного интервала времени и удаляется после выполнения из движка, поэтому, если в программе не используется постоянных указателей на сам твин, то после завершения работы он должен быть корректно удален из памяти сборщиком мусора.

А вообще, я планировал сделать простую систему кэширования тинов в классе твина и в какой-то момент решил что реализовал её, а сейчас посмотрел код и не нашел реализации :) В ближайшее время я добавлю систему кэширования твинов и метод destroy(). Спасибо!

vforsh commented 11 years ago

Антон, продолжаю работать с вашим фреймворком. Очень нравится.

Утечки памяти происходят в классе AntTween (метод updateTween). При вызове конструкции типа signal.dispatch.apply(....) происходит создание объектов типа Array и MetodClosure. Для того чтобы этого избежать, перед каждым подобным вызовом я добавил if (signal.numListeners > 0) { ..... }.

В ближайшее время постараюсь освоить гит и попробую принять участие в разработке Anthill'а.