用过懒加载的都知道可以通过setUserVisibleHint 完成懒加载
但在Androidx中官方已经做出了优化,结合Lifecycle,做出更好的方案。
那就是只有可见的Fragment会走到onResume
abstract class LazyFragment : Fragment() {
private var isLoaded = false
override fun onResume() {
super.onResume()
//增加了Fragment是否可见的判断
if (!isLoaded && !isHidden) {
lazyInit()
Log.d(TAG, "lazyInit:!!!!!!!”)
isLoaded = true
}
}
override fun onDestroyView() {
super.onDestroyView()
isLoaded = false
}
abstract fun lazyInit()
}
或者通过Lifecyle捕捉Lifecycle.Event.ON_RESUME 实现懒加载
浙公网安备 33010602011771号