为什么我的 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