我使用 ActionBarSherlock 和 ViewPager 将 4 个片段作为 SherlockFragmentActivity 中的标签页。
在正常情况下,此解决方案运行良好。
但是,如果应用程序异常退出,即由于内存不足而被Android OS 杀死,则ViewPager 在导航回SherlockFragmentActivity 时无法再将新创建的片段附加到活动中。
经过大量调试,我终于发现 SherlockFragmentActivity “记住”了附加到它的片段。当它被重新创建时,它会重新创建片段并将其附加到自身,这会阻止 ViewPager 将任何新片段附加到活动。
我通过使用空实现覆盖 SherlockFragmentActivity#onSaveInstanceState 来解决此问题,以强制 SherlockFragmentActivity 忘记所有片段。但是我仍然没有任何完美的解决方案。
我怀疑这是 SherlockFragmentActivity 的缺陷。
综上所述,我认为 SherlockFragmentActivity 在使用 ViewPager 时存在恢复内部 Fragment 的缺陷。
有没有人遇到过同样的问题?