Чтобы добавить к тому, что сказал Патрик:
Кэширование растрового изображения вполне может использовать даже больше памяти, в зависимости от того, как вы это делаете. Однако, если у вас есть несколько экземпляров одной и той же вещи, вы можете сделать только один из них и повторно использовать его пиксели везде, подобно тому, что вы видите здесь http://flexdiary.blogspot.com/2009/12/riadventure-inspiration.html.
Возможно, вы также захотите изучить пулы объектов http://blog.joa -ebert.com / 2008/05/07 / tweening-and-object-pool / .
Однако, когда память начинает выходить из-под контроля, я обычно подозреваю, что вы вызвали утечку памяти, добавляя прослушиватели к объектам, а не удаляя их (поэтому они не могут быть собраны мусором). Другими способами, которые могут вызвать утечку памяти, является обращение к объекту через словарь или использование setTimeout без правильного вызова clearTimeout.