1.正常情况下A 页面跳转到B 页面 调用
08-06 17:41:48.180 25083-25083/? I/gsc: onCreate08-06 17:41:48.190 25083-25083/? I/gsc: onStart()
08-06 17:41:48.190 25083-25083/? I/gsc: onResume()
08-06 17:41:50.710 25083-25083/com.org.gsc.testactdemo I/gsc: onPause()
08-06 17:41:50.730 25083-25083/com.org.gsc.testactdemo I/gsc: OnePage:onCreate
08-06 17:41:50.730 25083-25083/com.org.gsc.testactdemo I/gsc: OnePage:onStart()
08-06 17:41:50.750 25083-25083/com.org.gsc.testactdemo I/gsc: OnePage: onResume()
08-06 17:41:51.180 25083-25083/com.org.gsc.testactdemo I/gsc: onStop()
2.B 页面为透明页面时调用:
08-06 17:43:43.410 26988-26988/? I/gsc: onCreate
08-06 17:43:43.410 26988-26988/? I/gsc: onStart()
08-06 17:43:43.410 26988-26988/? I/gsc: onResume()
08-06 17:43:46.310 26988-26988/com.org.gsc.testactdemo I/gsc: onPause()
08-06 17:43:46.320 26988-26988/com.org.gsc.testactdemo I/gsc: OnePage:onCreate
08-06 17:43:46.370 26988-26988/com.org.gsc.testactdemo I/gsc: OnePage:onStart()
08-06 17:43:46.370 26988-26988/com.org.gsc.testactdemo I/gsc: OnePage: onResume()
总结 B页面为透明主题时,A 页面 不在调用他自己的stop 方法:
为啥不调用A 页面的 stop 表面解释为,A 页面被没有消失,在B 页面的下层
下面从源码角度分析:
看一下 onstop 方法:
protected void onStop() { if (DEBUG_LIFECYCLE) Slog.v(TAG, "onStop " + this); if (mActionBar != null) mActionBar.setShowHideAnimationEnabled(false); mActivityTransitionState.onStop();主要在这里就此方法深入其中 getApplication().dispatchActivityStopped(this); mTranslucentCallback = null; mCalled = true; }