私は、SignalRを使用してプッシュされる多数のサーバーイベントを購読するNg2アプリを持っています。 アプリケーションは常に実行する必要があります。長時間の定期購読でAngular2メモリリークが発生する
Ng2エミッタを使用してイベントを待ち受けています。これらのイベントをリッスンし、そのデータをユーザーに表示するページは1つだけです。
私が抱えている問題は、翌日夜間にアプリケーションを実行したままにしておくと、Chromeのメモリ不足メッセージが表示されていることです。
定期的に実行する必要があるため、サブスクリプションを破棄することはできません。これらのサブスクリプションを管理する最良の方法は何ですか?
私のサブスクリプションは、コンポーネントのコンストラクタで設定されています。私は
this.proxy.on('getFundReturns', (data: any) => {
var obj = JSON.parse(data);
//console.log("getFundReturns:");
//console.log(obj);
this.onGetFundReturnsDataRecieved.emit(obj);
});
再現せず、特に、コードを見ることなく伝えるのは難しいです。 –
私はいくつかのコードスニペットを追加しました。他にどんな部分が役に立つでしょうか? –
ブラウザのdevtoolsプロファイラを使ってメモリを正確に調べる方法を調べましたか? –