Google Maps Android API v2会阻止UI线程

Den*_*ski 9 api performance android google-maps android-fragments

在FragmentActivity里面我替换了嵌套了TabPageIndicator的Fragment(里面有2个标签).

第一个选项卡 - 带描述的片段.
第二个标签 - 带有地图内部+标记的片段!

当我启动FragmentActivity时,暂停在3-8秒附近(取决于手机的性能).

原因 - 地图渲染.

我怎样才能加快发布速度?


FragmentStatePagerAdapter

@Override
public Fragment getItem(int position) {
    switch (position) {
    case 0:
        return new Fragment1();
    case 1:
        return new Fragment2();
    }
    return null;
}
Run Code Online (Sandbox Code Playgroud)

Fragment2

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    Log.i(Util.TAG, getClass().getName() + " onCreateView");
    if (view != null) {
        ViewGroup parent = (ViewGroup) view.getParent();
        if (parent != null)
            parent.removeView(view);
    }
    try {
        view = (ViewGroup) inflater.inflate(R.layout.map_view, container, false);
    } catch (InflateException e) {

    }
    setUpMapIfNeeded();
    return view;
}

public void setUpMapIfNeeded() {
    if (map == null) {
        SupportMapFragment mapFragment = (SupportMapFragment) getActivity().getSupportFragmentManager().findFragmentById(R.id.map);
        map = mapFragment.getMap();
        if (map != null) {
            setUpMap();
        } else {
            Toast.makeText(getActivity(), "Unable to create map", Toast.LENGTH_SHORT).show();
        }
    }
}

private void setUpMap() {
    map.setMyLocationEnabled(true);
    map.addMarker(new MarkerOptions().position(KIEV).title("Kiev").snippet("Ukraine"));// .icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_launcher))
    map.moveCamera(CameraUpdateFactory.newLatLngZoom(KIEV, 15));
    map.animateCamera(CameraUpdateFactory.zoomTo(10), 2000, null);
    map.setOnMapLoadedCallback(this);
}
Run Code Online (Sandbox Code Playgroud)

我试图评论除此之外的所有内容:

view = (ViewGroup) inflater.inflate(R.layout.map_view, container, false);
Run Code Online (Sandbox Code Playgroud)

但结果是一样的.地图初始化太长.

我应该使用单独的线程来加载地图视图吗?(如果是,我如何在后台线程中获得布局inflater和容器)

如果片段可见,我决定加载地图,但这不是一个好主意.