Activity が破棄される前に、AlertDialog の Dismiss() メソッドを呼び出す必要があるのはなぜですか? 何かが漏れますが、正確には何ですか?では、なぜ PopupWindow は Activity の破棄を処理できるのでしょうか?
各アラートダイアログがウィンドウを作成するAndroidソースで見つけました:
Window w = PolicyManager.makeNewWindow(mContext);
どういう意味ですか?アクティビティから取得した PhoneWindow だけを使用できないのはなぜですか?
追加した
たとえば、AlertDialog は Context を参照し、Context は何も参照しない場合、GC は両方のオブジェクトをガベージ コレクションする必要があります (「外部」から参照されないため)。他に AlertDialog への参照はありますか? 言い換えれば、メモリリークは正確にどこにありますか?