Looper
(少なくとも で作成されたものは)HandlerThread
他のコードから参照されていなくても、ガベージコレクションを取得しないようです。私はquit()
とquitSafely()
メソッドを認識していますが、私のアプリケーションでは、これらのメソッドのいずれかを呼び出す責任があるのは誰なのかわかりません。
Looper
複数のアクティビティを含むアプリケーションでをシャットダウンする正しい方法と、Handler
これで作成されたLooper
がアクティビティのライフサイクルとは異なるライフサイクルを持っている場所を教えてください。onDestroy()
どのアクティビティにもなりません。シャットダウンせず、プロセスがOSによって強制終了されない場合Looper
、次のアプリの「起動」時に新しいものが作成される可能性があり、これがリークします。または、一度作成し、静的フィールドに保存し、決して終了せず、一度リークさせます。最後の 1 つは、これまでで最も安全で実装が簡単なようです。