erl*_*man 3 android memory-leaks android-fragments android-navigation leakcanary
我想从FragmentA (RootFragment)转到FragmentB但我不想在 FragmentB 返回后重新创建 FragmentA 的视图。
我正在使用 Jetpack Navigation 在 Fragment 之间导航。
为了实现上述目标,我有一个像这样的片段 Fragment:
class RootFragment : DaggerFragment() {
    private var viewToRestore: View? = null
    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
        return if (viewToRestore != null) {
            viewToRestore!!
        } else {
            return inflater.inflate(R.layout.fragment_root, parent, false)
        }
    }
    override fun onDestroyView() {
        viewToRestore = this.view
        super.onDestroyView()
    }
    override fun onDestroy() {
        super.onDestroy()
    }    
}
但是,一旦我到达具有属性viewToRestore 的Fragment B,FragmentA (RootFragment) 就会泄漏。
任何可以在不泄漏的情况下工作但达到相同目标的解决方案?
泄漏是误报。从 Fragment 的角度来看,保留您在其中创建的 ViewonCreateView并稍后返回它是完全没问题的,前提是您的 Fragment 没有保留或以其他方式保持的时间比用于创建视图的 Context 还活着。
| 归档时间: | 
 | 
| 查看次数: | 1242 次 | 
| 最近记录: |