2016-11-28 185 views
1

我曾经认为当活动A被另一个全屏活动B替换时,将调用A的onStop()回调。活动的onStop()在启动另一个全屏时未被调用活动

这也反映在文档:

活性的可见寿命发生调用 在onStart()和调用的onStop()之间。在此期间,用户可以在屏幕上看到 活动并与其交互。例如,onStop()是 ,当一个新活动启动并且这个活动不再可见时调用。

enter image description here

但是现在,我观察不同的行为(在棒棒糖和棉花糖测试)。

我从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 

这是怎么回事?

回答

3

“例如,onStop()在新活动启动时调用,并且这一个是不再可见。”

因为你AuthenticationActivity是透明的,HomeActivity仍清晰可见=>的onStop不叫

1

尝试删除:

android:theme="@style/AppTheme.Transparent" 
相关问题