像在这段代码中那样导航底部导航菜单时,是否真的有必要总是重新创建片段?
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
Fragment selectedFragment = null;
switch (item.getItemId()) {
case R.id.nav_home:
selectedFragment = new HomeFragment();
break;
case R.id.nav_favorites:
selectedFragment = new FavoritesFragment();
break;
case R.id.nav_search:
selectedFragment = new SearchFragment();
break;
}
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
selectedFragment).commit();
return true;
}
};
我宁愿在周围 MainActivity 的 onCreate 中创建我所有的 Fragments 并将它们作为成员变量存储在那里。然后我可以在 onNavigationItemSelected 中只使用对我的片段的引用而不是创建新片段。
可以按照描述进行操作而不使用上面的代码吗?或者按照描述的那样做会在某处引起并发症吗?