从MapFragment启动MapFragment / Press back按钮会导致长时间黑屏

时间:2013-02-06 13:05:52

标签: android google-maps google-maps-android-api-2 supportmapfragment

我已在我的应用程序中实施了Google Maps Android API v2。

目前我有一个由不同片段组成的活动:

public class MyTravelogueActivity extends SherlockFragmentActivity {
    int travelogueID;
    String placeID;
    boolean isTravelogue;
    Bundle b;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        String checkStatus = "";

        b = getIntent().getExtras();
        if (savedInstanceState != null) {
            getSupportFragmentManager().popBackStack(null, getSupportFragmentManager().POP_BACK_STACK_INCLUSIVE);
            checkStatus = savedInstanceState.getString("statusCheck");

            b = savedInstanceState.getBundle("bundle");

       } 
        else {
            checkStatus = (String) b.get("status");

        }

        setContentView(R.layout.activity_frag);

        FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
        /*
        codes to add Fragment to ft
        */
        ft.commit();
    } 
}

所以这需要我的MapFragment类......

public class TravelogueSEOPageFragment extends SherlockFragment {

    //............. codes
    public void Map(View view){
        if(hasConnection() == true){
            Bundle b = new Bundle();
            b.putInt("id", travelogueID);
            b.putString("currentlayoutview", currentview);
            FragmentTransaction ft = getSherlockActivity().getSupportFragmentManager().beginTransaction();
            TOnlineMapViewFragment mapfrag = TOnlineMapViewFragment.newInstance(b, place_list);
            ft.replace(R.id.container, mapfrag).addToBackStack(null).commit();
        }
    }
}

我的问题是为什么在加载Google地图时,有一段时间会出现黑屏?完成查看地图后,单击后退按钮,黑屏将显示更长时间。

我不确定我应该粘贴哪些其他代码来说明这个问题,所以如果我缺少任何代码以便让我更好地请求解决这个问题,请告诉我。

1 个答案:

答案 0 :(得分:0)

Google将此描述为“已知限制”。见这里:Issue 4639。有一个官方提出的解决方法,但这并不适用于所有情况。