3

作業中のAndroidアプリで奇妙な動作が発生しています。次のようになります。

  1. 私はしばらくの間アプリを使用しますが、問題なく正常に動作します
  2. Androidのホームボタンをクリックしてアプリを「一時停止」します
  3. 電話で他のアプリを数分間使用します
  4. アプリに戻ると、非常に奇妙な状態にあるように見えます。FragmentActivityは失われていますが、最後に表示されていたFragmentはまだ表示されています。Fragmentから「getActivity()」を呼び出すと、nullが返され、問題が発生します(FragmentActivityへの参照が必要なため)。

アプリがしばらく一時停止した後にFragmentActivityが失われる理由は、ある種のガベージコレクションの問題だと思いますが、通常、FragmentActivityだけでなくアプリ全体が破壊されることはありませんか?

注意すべき点:

  1. 互換性ライブラリを使用しています
  2. ビューページインジケーターを使用しています(ただし、これが問題と関係があるとは思われません)-https ://github.com/JakeWharton/Android-ViewPagerIndicator

android:configChanges="orientation|keyboardHidden|screenSize"注:マニフェストのアクティビティ要素から自分を削除して向きを変更すると、この問題を簡単に再現することもできます。だから私は、活動レクリエーションの後、ビューの状態を維持していないと思います。 onSaveInstanceStateonRestoreInstanceState呼ばsetRetainInstance(true);れ、フラグメントに設定されているため、なぜこれが発生しているのかわかりません。

4

1 に答える 1

2

あなたの問題はMaurycyの問題のようです-Androidがいくつかのフラグメントを再作成し、ループからあなたを除外したため、あなたが持っているフラグメント参照はViewPagerによって使用されるものと同じではありません。彼の質問に対する私の答えを見てください。

于 2012-03-17T00:01:35.947 に答える