私は移動することに反応するアプリケーションを持っています。Hashtableの内容を削除するか、新しいHashtableをインスタンス化するだけですか?
リスナーは、1つの動きで複数回呼び出されたようです。つまり、アプリケーションをモニターのある部分から別の部分にドラッグした場合です。
この場合、Hashtableにデータを保存します。データを格納するたびに、空のハッシュテーブルに格納する必要があります。
Hashtableの内容を毎回削除する方が良いか、同じ変数を使用して新しいHashtableをインスタンス化できたらいいですか?ハッシュテーブルには、5つ以上のキーと値のペアが含まれません。
後者のメソッドが多すぎるメモリの消費を開始するか、Javaのガベージコレクタがこのメモリを十分に解放しますか?
これを過度に思っているかもしれません。必要になるまで最適化しないでください。なぜそれを選んで何が起こるか見るのはなぜですか? –
GCは間もなくそれをクリーンアップする可能性がありますが、早すぎる最適化についてあまり心配する必要はありません。より緊急の質問imhoは 'HashMap'または' ConcurrentHashMap'の上に 'Hashtable'を使用している理由でしょう – oldrinb
関連:http://stackoverflow.com/questions/10197988/performance-issue-clear-and-reuse-a-新しいものを収集するか、それを手に入れるか、または新しいものを入手するhttp://stackoverflow.com/questions/18370780/empty-an-arraylist-or-just-create-a-new-one-and-let古いガーベッジ・コレクトnoredirect = 1&lq = 1 – Thilo