アクティビティとフラグメントのリークがあり、その原因は、TextView の削除されていない ChangeWatcher にあると思われるものにまでさかのぼります。
シナリオ: アクティビティ A がアクティビティ B を開始します。B のレイアウトには textPassword EditText フィールドがあります。アクティビティ B が終了します。
HPROF ダンプは、アクティビティ B のインスタンスがまだ 1 つあることを示しています。その gcroot パスは次のとおりです。
test.maa.LoginActivity
'- mContext android.widget.EditText
'- this$0 android.widget.TextView$ChangeWatcher
'- [1] java.lang.Object[13]
'- mSpans android.text.SpannableStringBuilder
'- mSource android.text.method.PasswordTransformationMethod$PasswordCharSequence
'- mText android.text.MeasuredText
'- mMeasured android.text.StaticLayout
'- sStaticLayout class android.text.DynamicLayout
これは、TextView に Linkify.addLinks を追加した場合にも発生します。
アクティビティ B をクリーンアップする方法はありますか?