警告内容
原文:
W/DataBinding: Setting the fragment as the LifecycleOwner might cause memory leaks because views lives shorter than the Fragment. Consider using Fragment's view lifecycle
翻译:
将片段设置为生命周期所有者可能会导致内存泄漏,因为视图的生存期比片段短。考虑使用 Fragment 的视图生命周期
原因
在程序中因为前面遇到LiveData
使用postValue()后视图数据不更新,查找到解决办法是需要设置视图的lifecycleOwner
为this
。
原代码:
FragmentXXBinding.inflate(layoutInflater).apply {
lifecycleOwner = this@XXFragment
}
这就是报错的原因,修复也简单,按报错那样,使用.viewLifecycleOwner
:
FragmentXXBinding.inflate(layoutInflater).apply {
lifecycleOwner = this@XXFragment.viewLifecycleOwner
}
Comments | NOTHING