为什么我的 Fragment 在应用程序启动时会抖动?!?
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()(就像它的子 Fragment 一样MPQAudioFragment),它们会立即运行onPause()?!?!那么片段一拆掉就又开始onAttach()套路了?
幸运的是,这种摆动似乎只发生一次,但它使维持状态更具挑战性(我想了解正在发生的事情和原因)。
更新:
现在,我正在通过static对关键数据使用成员属性来解决抖动问题。
此 SO 帖子指出了onSaveInstanceState()未调用的情况以及潜在的解决方法:https ://stackoverflow.com/a/2909211/1742657