アクティビティとフラグメントがリークしており、TextViewsで削除されていないChangeWatchersと思われる原因を追跡しました。TextView un-removed ChangeWatchersによりメモリリークが発生する
シナリオ: アクティビティAがアクティビティBを開始します。BのレイアウトにtextPassword EditTextフィールドがあります。アクティビティBが終了します。
HPROFダンプはそのgcrootパスは以下れる活動B.の1つのインスタンスがまだあることを示していますのTextViewにあなたLinkify.addLinks場合
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
また、これは起こります。
アクティビティBをクリーンアップする方法はありますか?
"アクティビティBが終了しました" - どのように "終了する"のですか?明示的に 'finish()'を呼び出して、 'BACK'ボタンや別のメソッドを押していますか? – Squonk
test.maa.LoginActivityはBですか? HPROFをダンプする前にGCを強制して、まだ収集されていないことを確かめましたか? @MisterSquonkqを参照してください。 – zapl
別のデバイスでさらにテストを行うと、この問題はGSlate 3.1で発生しますが、2.3.4を実行しているThunderboltでは発生しません。 – Daddyboy