gpt4 book ai didi

android - TextView 未删除 ChangeWatchers 导致内存泄漏

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:29:14 24 4
gpt4 key购买 nike

我们有 Activity 和 Fragments 泄漏,并将原因追溯到 TextView 上似乎未删除的 ChangeWatchers。

场景:Activity A 启动 Activity B。B 在其布局中有一个 textPassword EditText 字段。 Activity B 结束。

HPROF 转储显示还有一个 Activity B 实例。其 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

如果您将 Linkify.addLinks 链接到 TextView,也会发生这种情况。

有什么办法可以清理 Activity B 吗?

最佳答案

据我所知,这似乎是 Android 中与 TextView ChangeWatcher 和 Linkify 或 Html.fromHtml spannable 字符串相关的错误。我能够通过在 Activity 的 onDestroy() 中调用 setText(null) 来解决这个问题。可能还有其他可行的解决方法,但我无法找到有关泄漏的任何进一步信息。

关于android - TextView 未删除 ChangeWatchers 导致内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10237908/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com