我曾经认为当活动A被另一个全屏活动B替换时,将调用A的onStop()
回调。活动的onStop()在启动另一个全屏时未被调用活动
这也反映在文档:
活性的可见寿命发生调用 在onStart()和调用的onStop()之间。在此期间,用户可以在屏幕上看到 活动并与其交互。例如,onStop()是 ,当一个新活动启动并且这个活动不再可见时调用。
但是现在,我观察不同的行为(在棒棒糖和棉花糖测试)。
我从HomeActivity
开始AuthenticationActivity
和,尽管AuthenticationActivity
是一个全屏幕活动,HomeActivity
没有停止。
清单中,这些活动的宣言:
<activity
android:name=".screens.home.activities.HomeActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:launchMode="singleTop">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity
android:name=".screens.authentication.activities.AuthenticationActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:windowSoftInputMode="adjustResize"
android:theme="@style/AppTheme.Transparent"/>
当活动进行切换,这是我观察的logcat:
11-28 10:16:31.443 15183-15183/somepackage I/LOG:: LifeCycle : activity ([email protected]) paused
11-28 10:16:31.583 15183-15183/somepackage I/LOG:: LifeCycle : activity (somep[email protected]2bbdb20f) created
11-28 10:16:31.753 15183-15183/somepackage D/Activity: performCreate Call secproduct feature valuefalse
11-28 10:16:31.753 15183-15183/somepackage D/Activity: performCreate Call debug elastic valuetrue
11-28 10:16:31.753 15183-15183/somepackage D/AuthenticationActivity: onStart()
11-28 10:16:31.753 15183-15183/somepackage I/LOG:: LifeCycle : activity (somep[email protected]2bbdb20f) started
11-28 10:16:31.993 15183-15183/somepackage D/AuthenticationActivity: onResume()
11-28 10:16:31.993 15183-15183/somepackage I/LOG:: LifeCycle : activity (somep[email protected]2bbdb20f) resumed
11-28 10:16:32.213 15183-15183/somepackage I/Timeline: Timeline: Activity_idle id: [email protected] time:354918367
11-28 10:16:32.613 15183-15183/somepackage I/LOG:: LifeCycle : activity ([email protected]) saveInstanceState
11-28 10:16:32.633 15183-15183/somepackage V/ActivityThread: updateVisibility : ActivityRecord{2bcd65fd [email protected] {somepackage/somepackage.screens.home.activities.HomeActivity}} show : true
这是怎么回事?