В Dojo для хранения данных используется класс dojo.data.ObjectStore. В этом классе есть статичный массив _dirtyObjects: [], который используется всеми экземплярами класса одновременно. Что приводит к влиянию методов, вызванных из одного экземпляра на состояние остальных экземпляров dojo.data.ObjectStore. Скорее всего это баг. Для моего приложения данная утечка существенна, поэтому, я исправил ее введением нового класса.
dojo.require("dojo.data.ObjectStore");
dojo.declare("ObjectStore", [dojo.data.ObjectStore],{
constructor: function(args){
dojo.mixin(this, args);
this._dirtyObjects = [];
}
})
Кто, что об этом думает?