布局:
- 首页Activity使用FragmentTabHost切换3个Fragment,Fragment1中嵌套2个Fragment,一个Fragment装了高德地图MapView,还有一个普通的Fragment;
问题1:
- 在首页从地图Fragment切换到别的Fragment时出现短暂黑屏
解决方案:
- 布局中用TextureMapView代替MapView,其他基本都一样。
- 装有地图的Fragment继承TextureSupportMapFragment(这个加不加好像没什么影响)
问题2:
- 在首页从地图Fragment切换到别的Fragment再切回来出现卡死退出
解决方案:
- 首页的Fragment不用FragmentTabHost切换,因为每次切换Fragment都会onCreateView,占用太多内存,导致奔溃;
- 在首页第一次加载所有的Fragment,切换的时候通过hide、show的方式来管理Fragment,这样就不会每次切换都调用onCreateView方法了;
参考代码:
private List<Fragment> fragmentList;
private static final int INDEX_HOME_FRAGMENT = 0;
private static final int INDEX_ORDER_FRAGMENT = 1;
private static final int INDEX_MY_FRAGMENT = 2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
AppManager.getAppManager().addActivity(this);
initUi();
initFragments();
}
private void initFragments() {
if (fragmentList == null) {
fragmentList = new ArrayList<>();
fragmentList.add(new HomeFragment());
fragmentList.add(new OrderFragment());
fragmentList.add(new MyFragme