我有四项活动A,B,C和D. 我正在从活动A ----> B ---> C ---> D
移动从活动D开始我称之为活动B.
到达A-B-C-D活动D时
活动A,B和C的状态是onStop()状态,活动D是onResume()状态。 未来有两种情况: 1>我按后退按钮转到活动C或 2>我调用一个事件并转到活动B.
首先了解wrt活动状态。 D-Destroy状态和C将是onrestart-onstart-onresume
活动D进入OnStop,进入活动B - > Oncreate-Onstart-OnResume ... 活动A和C将在onStop()状态...
我想知道事件之前的活动B状态是onStop(), 但是,尽管调用onRestart()方法,它已经调用了onCreate-onStart-onResume。
因为,活动B没有被破坏,而活动B最初的位置没有被破坏 onStop()state go ........当我移动到Activity C时,从这个活动B ...它调用onCreate-onStart-onResume for Activity C ....对于Activity C也是一个onStop状态尚未被破坏......与生命周期和活动堆栈流混淆....帮我一样......
答案 0 :(得分:0)
您正在创建活动的新实例,这就是您看到流onCreate-onStart-onResume
的原因。在从堆栈开始之前,您需要在活动中添加标记FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY
,FLAG_ACTIVITY_REORDER_TO_FRONT
。