作業中のAndroidアプリで奇妙な動作が発生しています。次のようになります。
- 私はしばらくの間アプリを使用しますが、問題なく正常に動作します
- Androidのホームボタンをクリックしてアプリを「一時停止」します
- 電話で他のアプリを数分間使用します
- アプリに戻ると、非常に奇妙な状態にあるように見えます。FragmentActivityは失われていますが、最後に表示されていたFragmentはまだ表示されています。Fragmentから「getActivity()」を呼び出すと、nullが返され、問題が発生します(FragmentActivityへの参照が必要なため)。
アプリがしばらく一時停止した後にFragmentActivityが失われる理由は、ある種のガベージコレクションの問題だと思いますが、通常、FragmentActivityだけでなくアプリ全体が破壊されることはありませんか?
注意すべき点:
- 互換性ライブラリを使用しています
- ビューページインジケーターを使用しています(ただし、これが問題と関係があるとは思われません)-https ://github.com/JakeWharton/Android-ViewPagerIndicator
android:configChanges="orientation|keyboardHidden|screenSize"
注:マニフェストのアクティビティ要素から自分を削除して向きを変更すると、この問題を簡単に再現することもできます。だから私は、活動レクリエーションの後、ビューの状態を維持していないと思います。
onSaveInstanceState
とonRestoreInstanceState
呼ばsetRetainInstance(true);
れ、フラグメントに設定されているため、なぜこれが発生しているのかわかりません。