0

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();
        }

    });
})();

このパターンに明らかに間違っている点はありますか?

4

0 に答える 0