当进入主屏幕时,Android onStop调用vs onPause

时间:2017-11-07 22:01:43

标签: android android-lifecycle android-ondestroy

我继承了一个项目,该项目启动了活动A,然后又启动了活动B.如果我按下Android主页按钮,然后再次单击应用程序图标,我会得到活动A对比B.

观察生命周期我看到了这一点。

Click Icon ->Activity A Launch->onCreate->onStart->onResume
Click on context menu that starts Activity B->onCreate->onStart->onResume
Click on Android Home Button Activity B->onPause 
Click on App Icon on the Android Home Screen (to resume)
Activity B's onDestory is called followed by Activity A ->onCreate->onStart->onResume.

关于要查找什么的任何高级别想法都会导致onDestroy vs onResume?

清单声明:

Activity A


 <activity
            tools:replace="android:theme,android:label"
            android:name="WebViewActivity"
            android:configChanges="orientation|screenSize"
            android:label="@string/app_name_pro"
            android:launchMode="singleTask"
            android:theme="@style/MyTheme.AppCompat.NoAB">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
            <intent-filter>
                <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"/>
            </intent-filter>

            <meta-data
                android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"
                android:resource="@xml/device_filter"/>
        </activity>

============================

Activity B

<activity
            android:name="OwaViewerActivity"
            android:label="@string/owa"
            tools:replace="android:theme"
            android:launchMode="singleTop"
            android:configChanges="orientation|screenSize|keyboardHidden"
            android:theme="@style/MyTheme.AppCompat.NoAB"
            android:parentActivityName="WebViewActivity">
            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value="WebViewActivity"/>
            <intent-filter>
                <action android:name="android.intent.action.SEARCH"/>
            </intent-filter>
            <meta-data
                android:name="android.app.searchable"
                android:resource="@xml/searchable"/>
        </activity>

1 个答案:

答案 0 :(得分:1)

所以如果有疑问,请创建一个简单的应用程序。事实证明,主页按钮确实生成了onStop,然后如果点击图标重新启动,请调用onStart和Resume。事实证明,SingleTask是导致onDestory发生的原因。如果我删除SingleTask,应用程序就可以正常工作。现在我必须回过头来找出遗留代码使用单一任务的原因!