我正在使用我一直在开发的 android 应用程序遇到一些奇怪的行为,这就是发生的情况:
- 我使用该应用程序一段时间,运行良好,没有问题
- 我通过单击 android 主页按钮“暂停”应用程序
- 我在手机上使用了一些其他应用程序几分钟
- 我回到我的应用程序,它似乎处于一个非常奇怪的状态,FragmentActivity 丢失了,但最后显示的 Fragment 仍然显示。当我从 Fragment 调用“getActivity()”时,它返回 null,这会导致问题(因为我需要返回 FragmentActivity 的引用。
知道为什么应用程序暂停一段时间后 FragmentActivity 会丢失,我认为这是某种垃圾收集问题,但通常不会破坏整个应用程序而不仅仅是 FragmentActivity 吗?
需要注意的一些事项:
- 我正在使用兼容性库
- 我正在使用 viewpage 指示器(但我认为这与问题无关) - https://github.com/JakeWharton/Android-ViewPagerIndicator
android:configChanges="orientation|keyboardHidden|screenSize"
注意:当我从清单中的活动元素中删除 my 并进行方向更改时,我也可以轻松地重现此问题。所以我假设它不会在活动娱乐后保持视图状态。
onSaveInstanceState
并且onRestoreInstanceState
被称为 ok,并且setRetainInstance(true);
设置在片段上,所以我不确定为什么会发生这种情况。