javascript/html アプリ開発は初めてです。クリックするとページ2に移動するボタンが付いたページ1があります。page1 から page2 に移動してから page1 に戻るたびに、メモリ使用量が 10 MB 増加し、使用するにつれて増加し続けます。これがpage1のパターンです。
Page1viewModel.js のコードは次のとおりです。
var __extends = this.__extends || function (d, b) {
function __() { this.constructor = d; }
__.prototype = b.prototype;
d.prototype = new __();
};
var Page1ViewModel = (function (_super) {
"use strict";
__extends(ViewModel, _super);
>>>>
some variables declared here
>>>>
function ViewModel(modelParameter) {
_super.call(this, modelParameter);
var self = this;
>>>>
some code here
>>>>
this.unloaded(false);
};
// Observable to tell the view when the page has been unloaded.
ViewModel.prototype.unloaded = ko.observable(false);
// Method that is called on the app exiting this page.
ViewModel.prototype.unload = function () {
<<<code to remove handlers>>>>
this.unloaded(true);
};
<<< some more prototype functions>>>
return ViewModel;
})(BaseViewModel);
そして、ここにPage1.jsのコードがあります
(function () {
"use strict";
var viewModel,
view;
WinJS.UI.Pages.define("/pages/Page1.html", {
ready: function (element, options) {
viewModel = new Page1ViewModel(window.appModel);
view = new Page1View(element, viewModel);
ko.applyBindings(view, element.children[0]);
view.initialize();
},
unload: function (element) {
view.unload();
viewModel.unload();
}
});
})();
このパターンに明らかに間違っている点はありますか?