gpt4 book ai didi

android - Activity 泄露了 IntentReceiver android.widget.ViewFlipper

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:40:22 30 4
gpt4 key购买 nike

我正在添加一个 ViewFlipper 从布局资源扩展到 ListView 作为 Footer。这是我的脚蹼布局(为简洁起见省略了细节):

<?xml version="1.0" encoding="utf-8"?>
<ViewFlipper ...>
<Button
/>
<LinearLayout
... >
<ProgressBar
... />
<TextView
... />
</LinearLayout>
</ViewFlipper>

我将它添加到我的 ListView 使用:

mListView.addFooterView(mLoadMoreFlipper);

当我的 Activity 被销毁时,我在 LogCat 中看到以下消息,后跟一个调用堆栈:

 Activity com.gk.ItemListActivity has leaked IntentReceiver android.widget.ViewFlipper$1@44c84ab0 
that was originally registered here. Are you missing a call to unregisterReceiver()?

我做了一些挖掘,发现消息与不注销接收者有关,除了我还没有注册。奇怪的是,仅当页脚 ViewFlipper 在销毁前从 ListView 中删除(通过使用后退按钮)时,才会出现此消息。当我不再需要页脚时,我会使用以下方法分离页脚:

mListView.removeFooterView(mLoadMoreFlipper);

我曾尝试对 ViewFlipper 使用 WeakReference 但这没有帮助。我还尝试将 mLoadMoreFlipper 引用设置为 null 但这也无济于事。

有没有人遇到过这个问题?这似乎与我的 Activity 在从 ListView 分离后持有对 ViewFlipper 的引用有关,但我不知道如何显式销毁 ViewFlipper.

最佳答案

参见 View Flipper Throws Exception in ViewFlipper.onDetachedFromWindow .显然 ViewFlipper 中存在错误。其中包含解决方法。

关于android - Activity 泄露了 IntentReceiver android.widget.ViewFlipper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8701042/

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