私のコードのどこかにjQuery.Deferred
があり、短命のオブジェクトのメンバメソッドであるコールバックをいくつか追加します。この状況でメモリリークの可能性があるかどうかは、.NETイベントハンドラと同様です。延期を使用しているときに潜在的なメモリリークがありますか?
私はjQuery
のコードをチェックしていましたが、コールバックがクリアされた部分は見られませんでした。私は、遅延オブジェクトのライフサイクルがどこで終わるべきかを見つけませんでした。
誰でもこのトピックについて少し気をつけてください。
EDIT
私はそれについて考えていたように、この質問に絞り込みます。 JavaScriptでは、オブジェクト(プロトタイプではない)のメンバ関数への参照を保持すると、オブジェクトがGC-dであることが拒否されますか? jQueryは、これらの関数参照を遅延オブジェクトのコールバックに保持しているようです。私が見たものから、
私はこの井戸にどのように答えるか分かりません。参照を保持できる言語であれば、メモリリークのリスクがあります。それは、あなたがそれらの参照をどこで取得し、どのようにそれらがGCが見ているツリーに収まるかということです。 – ssube
私の質問は、jQueryが内部的にどのように処理しているか、ある時点で何らかの方法で遅延オブジェクトを処理するかどうかです。 –
これは役立つ可能性があります:https://auth0.com/blog/four-types-of-leaks-in -your-javascript-code-and-how-to-get-rid-of-them/ – Sparrow