Re: PrototypeJS memory leak when using Class.create()

52 views
Skip to first unread message

Victor

unread,
Jul 30, 2012, 12:22:18 PM7/30/12
to prototype-s...@googlegroups.com
         Please note line 65 and 70 which define an Array as "subclasses" and push content into it.  However, I'm grepped whole codes and it seems this variable is not used anywhere.  On the other hand, it will cause the created "klass" is referenced by parent and is never freed by Garbage Collection.  If I run this function repeatedly:

         function() {
             var klass = Class.create(parent);
         }
         
         It will cause memory leak because klass is referenced by parent.

It is not memory leak. Your code may create new class instances or new subclasses at any time. If you have created millions of classes and want to "forget" some class to free some memory then you are probably doing something wrong.

Victor

unread,
Jul 31, 2012, 8:16:55 AM7/31/12
to prototype-s...@googlegroups.com
Theoretically it is needed when you want to explore hierarchy of classes, practically it was used only once in jPlex
Reply all
Reply to author
Forward
0 new messages