2017-02-22 4 views
0

Googleマップを自分のアプリケーションに統合しようとしています。私は、アプリにGoogleマップを追加すると、これを行うための最も一般的な方法のようだと思っているアクティビティです。UIを変更してアクティビティやフラグメントを操作する最善の方法

Googleマップを断片化する方法を示すいくつかのウェブサイトとSOの質問がありましたが、ユーザーが常にプロフィールをクリックして戻ってしまうと問題になりますか?マップを再作成または再開させます。代わりにマップがアクティビティだった場合、そのパフォーマンスは向上するでしょうか?

基本的に、アクティビティGUIからフラグメントに移行する最善の方法がわからないのですか?私は1つのだけの活動を使用アプリを持っていた、私はちょうど私が私の主な活動を作成したとき、私は

setContentView(R.layout.baselayout); 

と呼ばれているので

FragmentManager fm = getFragmentManager(); 
    FragmentTransaction ft = fm.beginTransaction(); 
    Fragment fragment = getFragmentManager().findFragmentById(R.id.framecontainer); 
    if (fragment == null) { 
     ft.add(R.id.framecontainer, frag, tag); 
    } else { 
     ft.replace(R.id.framecontainer, frag, tag); 
    } 
    ft.addToBackStack(null); 
    ft.commit(); 

が、私は混乱しています。このコードでそれらを変更し、複数の異なるフラグメントを使用しますこのレイアウトにはフレームコンテナしか含まれていないので、すぐにHomeScreenFragmentを追加して、変更が必要なときは上記のFragmentTransactionコードを使用します。

ただし、私の新しいMapActivityでsetContentView(R.layout.maplayout);を使用した場合、どのように画面を変更するのが最適でしょうか? R.id.maplayoutにframelayoutが含まれていない場合は、前に説明したような多数のフラグメントを使用する新しいアクティビティを開始するのが最善でしょうか?私はsetContentViewを複数回またはonCreate()の外に呼び出すことが悪い習慣であることを聞いたことを覚えています。

新しい活動を毎回起動するさまざまなレイアウト

  1. で活動を使用して、ちょうど活動の量を最小化しようとしているのは2つの方法があるように、これまでそれはそうなので、私は何かが欠けていそうです。
  2. でframeLayoutとアクティビティを作成し、ちょうど私が私のユーザーがprofilelayoutに持参していることを確認します地図上にマーク別のユーザーをクリックします私の実際の問題 に対処するために毎回

断片を入れ替えます上記の2つの方法のいずれかを使用する必要がありますか、そうする方法はありますか?

あなたには、私に最良の方向性を指摘する入力がありますか?ありがとう!

答えて

0

現在のアプリケーションがすでに断片化している場合は、MapFragmentと考えていますか?私はあなたのオブジェクト/リソースを適切にクリーンアップしているなら、実際にはパフォーマンス上の問題ではないと思います。

それは自動的に必要なライフサイクルのニーズに対応するためにマップの視野のラッパーです。また、それはMapFragmentについて以下述べているマニュアルに従って

LayoutInflaterを使用してビューを追加/削除することでレイアウト操作を行うことも可能です。

関連する問題