用过懒加载的都知道可以通过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 实现懒加载

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-08-31
  • 2022-01-01
  • 2021-09-06
  • 2021-06-16
  • 2021-12-01
猜你喜欢
  • 2022-12-23
  • 2021-08-06
  • 2021-11-02
  • 2021-10-03
  • 2021-12-31
  • 2021-07-27
相关资源
相似解决方案