MapFragment: плохая производительность после использования кнопки назад

У меня проблема с производительностью при использованииMapFragment вместе с меню панели действий.

Ошибка возникает при выполнении трех условий

ЕстьMapFragment инстанцирован.Запустите транзакцию фрагмента из меню параметров, заменив фрагмент карты другим фрагментом.Нажмите кнопку «Назад» и вернитесь к фрагменту карты. Производительность сейчас заметно ухудшается. Панорамирование и масштабирование очень резкие.

Повторное открытие меню параметров и его повторное устранение устраняет проблему.

Поведение не возникает, когда

Запуск замены фрагмента с помощью кнопки просмотра вместо меню параметров.Запуск замены фрагмента прямо вonCreate()замена пустого фрагмента на MapFragment из меню настроекпризваниеpopBackStack из меню настроекиспользуя ListFragment вместо MapView

Минимальный рабочий пример (требуется доступ к API Карт Google):

import android.app.Activity;
import android.app.Fragment;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;

import com.google.android.gms.maps.MapFragment;

public class MapFragmentBugActivity extends Activity {
    Fragment mMapFragment;
    String MAP = "Map";
    String BLANK = "Blank";

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_fragment_bug);
        mMapFragment = new MapFragment();
        getFragmentManager().beginTransaction()
                .replace(R.id.main, mMapFragment)
                .commit();
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        menu.add(MAP);
        menu.add(BLANK);
        return super.onCreateOptionsMenu(menu);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        Fragment fragment;

        if (item.getTitle().equals(MAP)) {
            fragment = mMapFragment;
        } else {
            fragment = new Fragment();
        }

        getFragmentManager()
                .beginTransaction()
                .replace(R.id.main, fragment)
                .addToBackStack(null)
                .commit();

        return true;
    }
}

Макет деятельности, ничего особенного

<?xml version="1.0" encoding="utf-8"?>

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/main"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:clickable="true" />

Ответы на вопрос(1)

Ваш ответ на вопрос