私たちの SPA は .NET を使用して構築されており、クライアント側のバインディングに knockoutJS を使用しています。最初のページの読み込み時にすべてのデータをバインドしており、ページの再読み込み時にメモリ リークが発生しています。メモリ リークを回避するために、ネストされたノックアウト オブザーバブルを破棄する適切な方法を考えています。私が試してみました
$(window).bind('beforeunload', function () {
ko.cleanNode(ko.vm)
});
(ko.vm はルート ビューモデルです) しかし、まだ大量のメモリ リークがあります。ページのアンロード時に各 subOberservable を個別に解放する必要がありますか? 次のステップは、データをビューに遅延バインドすることですが、knockoutJS のメモリ管理プラクティスは大歓迎です。