5

ウェブページの小さな管理エリアに取り組んでいます。

パフォーマンスを向上させるためにイベントのバインドを解除することは理にかなっていますか (クライアント)? それとも、イベントのバインドを解除して 30 秒後に再度バインドすると、パフォーマンスが低下しますか?

私の質問: bind()-unbind() または on().off() の背後にあるアイデアは、クライアントベースのパフォーマンスを向上させるだけですか?それとも他のシナリオに使用する必要がありますか? この質問は、イベントのバインドが解除されたために、私の JavaScript コードがどんどん大きくなっている (約 30%) ために発生します。そして、私が望むように、ユーザーが対話しないと、いくつかのことが機能しない可能性があると思います...

.

編集:ほとんどの場合、キープレスイベントのバインド/バインド解除を行っています。これは、差分に矢印キーが必要なためです。シナリオ。

4

3 に答える 3

4

バインドおよびアンバインドしようとすると、ガベージ コレクターが実際に入ってコードをクリーンアップするための競合状態が発生します。一度バインドして、再度バインドする必要がないことをお勧めします。クライアント側が長期間 (数週間、数か月) 実行されることが予想される場合は、パフォーマンスに対する懸念として、メモリ管理とメモリ リークを調べる必要があります。

バインドとバインド解除 (正しく行われない場合) は、見つけにくいメモリ リークを引き起こす可能性があります。Webkit を使用している場合は、バインドを解除した場合とバインドを解除した場合のパフォーマンスのヒープ スナップショットを一度取得してから、最善の決定を下すことができます。

ここにリンクがあります:

http://addyosmani.com/blog/taming-the-unicorn-easing-javascript-memory-profiling-in-devtools/

于 2013-08-14T13:40:28.390 に答える