設定
非常に奇妙なラグバグに遭遇しました。ABS 4.2 を使用して、ライブラリ v4 リビジョン 11、新しい SupportMapFragment、およびネストされたフラグメントもサポートします。このバグは、Android 4.2 の nexus 4 と 2.3.6 の nexus 1 の両方で発生します。
私はこれらの断片を持っています:
#1 FragmentPageRadapter を含むビューページャーを持つ「MainContainer」。
#2 このフラグメントページアダプタ内の「SupportMapFragment」。SupportMapFragment を拡張しましたが、同じバグがデフォルトの実装に適用されます。
#3 1つの余分なフラグメント(設定で設定を調整するだけなので、特別なことは何もありません)
やりました:
フラグメント #2 が実行されていて、(オーバーフロー メニューの) オプション メニュー項目をクリックすると、フラグメント #3 へのフラグメント トランザクションが実行されます。これにより、古いフラグメント MainContainer がバックスタックに追加されます。
#3 をポップし、#1 (MainContainer) と #2 (SupportMapFragment) を再び表示する [戻る] ボタンをクリックしました。
期待される:
スムーズに実行されるマップのフラグメント。
起こりました:
マップビューは非常に遅く、ほとんど機能しません。アプリ全体で他のラグは見られません。
奇妙な部分:
アクティビティが再作成されるか、フラグメントが destroy:ed (MainContainer は常に fragmentmanager にあります) である場合を除いて、ライフ サイクルの変更全体でフラグメント トランザクションを実行しても、ラグはこのように持続します。しかし、オーバーフロー ボタンを押して、ステップ 1 で押した実際のボタンを表示すると、マップが突然スムーズに実行されます (つまり、オーバーフロー メニューの項目を表示するだけです)。
論理的には、変更されたオーバーフロー メニューの項目を表示するだけで何かが変更されたことを示しています。これらすべてのコンポーネントには非常に多くのコードが含まれており、別のフラグメント (getChildFragmentManager()) 内で SupportMapFragment を使用することを除いて、通常とは異なるものを実際に見つけることはできません。コードは興味深いものになる可能性があり、それを更新します。
頭おかしくなったので助けてください…