关于navigation返回时Fragment重走生命周期使用的
2022-12-02 本文已影响0人
梧叶已秋声
使用Navigation返回时Fragment重走生命周期,根本原因是返回时调用replace()方法替换了原来的fragment,导致每次回到上一个页面都会走初始化方法。这样会导致页面切换时重复加载数据。有优化的空间。
比起写一个basefragment,在viewmodel初始化数据而不是在fragment中初始化数据应该更好一点,可以避免重复初始化数据。oncrateView是无法避免的,重点的数据初始化的时机。
参考链接:
解决Android jetpack导航组件Navigation返回Fragment重走onCreateView方法刷新视图的问题
Navigation Component prevent to recreate fragment on back press
5 common mistakes when using Architecture Components
使用Navigation返回时Fragment重走生命周期?原因与解决方案探究
Android学习小计:ViewPager2中的Fragment懒加载实现方式