在应用程序启动过程中,android碎片拍打

在应用程序启动过程中,android碎片拍打,android,android-fragments,android-tabhost,android-tabs,Android,Android Fragments,Android Tabhost,Android Tabs,为什么我的碎片会在应用程序启动时拍打 02-10 11:41:34.699: D/SessionDetailFragment(19272): onResume() 99 02-10 11:41:34.699: D/MPQAudioFragment(19272): onResume() 00 02-10 11:41:34.699: D/MPQAudioFragment(19272): onResume() 99 02-10 11:41:34.699: D/SessionDetailFragment

为什么我的碎片会在应用程序启动时拍打

02-10 11:41:34.699: D/SessionDetailFragment(19272): onResume() 99
02-10 11:41:34.699: D/MPQAudioFragment(19272): onResume() 00
02-10 11:41:34.699: D/MPQAudioFragment(19272): onResume() 99
02-10 11:41:34.699: D/SessionDetailFragment(19272): onPause() 00
02-10 11:41:34.699: D/MPQAudioFragment(19272): onStop() 00 bound_flag: false
02-10 11:41:34.699: D/MPQAudioFragment(19272): onStop() 05 mAudioService: null
02-10 11:41:34.699: D/SessionDetailFragment(19272): onStop() 00 bound_flag: false
02-10 11:41:34.699: D/SessionDetailFragment(19272): onStop() 05 mAudioService: null
02-10 11:41:34.709: D/SessionDetailFragment(19272): onDetach() 00
02-10 11:41:34.709: D/SessionDetailFragment(19272): onAttach() 00
02-10 11:41:34.709: D/SessionDetailFragment(19272): onAttach() 10 activity:MPQMainTabActivity
请注意,只要
SessionDetailFragment
完成
onResume()
(其子片段
MPQAudioFragment
),它们就会立即运行
onPause()
?!?!然后,一旦片段被拆下,它就会再次开始
onAttach()
例程

幸运的是,这种拍打似乎只发生一次,但它使维护状态变得更具挑战性(我想了解发生了什么以及为什么)


更新: 目前,我正在通过对关键数据使用
static
成员属性来解决扑动问题

这篇文章指出了未调用
onSaveInstanceState()
的情况,以及潜在的解决方法:

UPDATE/CLOSURE 2013-03-24: 重复片段似乎是由父/包装器
TabHost
和对
updateTab
方法的多次调用造成的。第一个调用来自用户按下按钮和菜单,第二个调用来自监听器触发的
onTabChanged()


这两个调用都将检查现有片段,但由于实例化尚未完成,因此都最终创建了一个新片段。

更糟糕的是,
onSaveInstanceState()
在这个翻页过程中似乎没有被调用:(.我能看到的唯一“hack”/解决方法是使用静态成员变量。