私のアクティビティの 1 つは、Google マップを含むフラグメントを切り替えます。
最初は、フラグメントの子フラグメント マネージャー (ChildFragmentManager) を使用して追加しようとしましたSupportMapFragment。問題なく動作しますが、フラグメントごとにマップが再度読み込まれるため、多くの時間がかかります。
最初に配置された場所に何らかの形で接続されているため、あるフラグメントから切り離しSupportMapFragmentて別のフラグメントに取り付けることができませんでしたViewGroup。
最後にMapView、アクティビティで作成されたプレーン オブジェクトを使用し、それをアクティブ フラグメントのビューグループに追加し、別のフラグメントのビューグループに配置する前に削除することにしました。
すべてonSaveInstanceState正常に動作します (MapView ではonResume、onPause、onDestroy、などのすべてのアクティビティ ライフサイクル メソッドを手動で呼び出す必要がありますonSaveInstanceState)。mapView.onSaveInstanceStateアクティビティを呼び出そうとすると、アプリがクラッシュします。
他の誰かが GoogleMap をいくつかのフラグメントでうまく再利用したのだろうか?