- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个使用 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/
Feel free to skip straight to TL/DR if you're not interested in details of the question 简短的序言: 我最近决定
我一直在阅读 A Tour of Go学习Go-Lang到目前为止一切顺利。 我目前在 Struct Fields类(class),这是右侧的示例代码: package main import "fm
Last time I got confused顺便说一下PowerShell急切地展开集合,基思总结了它的启发式如下: Putting the results (an array) within a
我是一名优秀的程序员,十分优秀!