webix has memory leaks.

almost every view created by webix will never be released!

even call ‘destructor’ function still can’t release the view from memory,
because in webix.Destruction’s $init push every view’s reference to webix.destructors, but never remove the view’s reference from webix.destructors.
webix.Destruction’s ‘destructor’ didn’t do this.
so except close the window, you can’t release the view.

webix._events also has the same problem, webix._events will always catch the reference of the view, until the window is closed.

Yes, we are aware of the issue.

Component destroys all HTML references on destruction, so memory leak must be minimal, still it is here.

We plan to include the fix in oncoming Webix 4.2 which will clean all object references on destruction.

“Component destroys all HTML references on destruction, so memory leak must be minimal, still it is here.”

no, there are probable big memory leak, because many html element still in memory, because there webix._events still has reference to these “detached html element”.

and i found some other places in webix will casue memory leak too, eg. webix’ config need set null in destructor too, otherewise it maybe reference other external object, this will cause memory leak too, and there are still some left in webix may cause memory leak too, but i am not very determine, because maybe if the the view can be descruct correctly, these “memory leak” will disappear, so i need test in next release.

Mostly fixed in version 4.2

Component removes self-reference from global collection on destruction, and component do not store local event handler in a global collection, so there is no memory leak there as well.