gpt4 book ai didi

android - 当你没有使用 unbind() 时究竟会发生什么?

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

我有一个使用 Butterknife 的应用程序,最近我发现了一个 fragment ,在该 fragment 的 onDestroyView() 中调用 unbinder.unbind() 失败。我解决了这个问题,但这让我开始思考。

这会导致什么样的错误?为什么?我现在没有特别的错误,但我想知道以后要注意什么,图书馆的网站没有具体说明这可能导致的问题。

最佳答案

假设您有一个 retained fragment并且您已经使用 @BindView 初始化了一个 View 。

方向发生变化,导致 Activity 实例被破坏,但不是这个 fragment ,因为这个 fragment 是一个保留的 fragment ,这意味着你初始化的字段仍然存在(不是null) 并持有对先前 Activity View 的强烈引用,这导致 Activity 泄漏。

尽管这可能需要一些时间(因为最终您将在 onViewCreated() 中执行另一个 ButterKnife.bind(),对吧?但是谁呢?知道,也许你不会),但最好在不需要时立即释放资源,让 GC 完成它的工作。

我前段时间也考虑过这个问题,除此之外我想不出另一种强烈需要 unbind() 的场景。

关于android - 当你没有使用 unbind() 时究竟会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45330872/

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