我發現在Android應用程序中使用給定流程安裝應用程序時非常奇怪的錯誤。當單擊啓動器圖標啓動應用程序時,啓動器活動的onCreate()會被調用
從playstore(舊版本)安裝應用程序。
啓動應用程序(現在我處於HomeScreen,.i.e。,
HomeActivity
)。現在,我通過安裝最新版本(生產版本,尚未發佈到PlayStore)升級應用程序。
單擊啓動器圖標,等待主屏幕變爲可見並通過按菜單按鈕將應用程序保留在後臺。
現在,通過點擊啓動器圖標啓動應用程序。
在這種情況下,閃屏(Activity
)被推出,然後帶我到主屏幕。在日誌中,呼叫轉到HomeActivity的onStop()
。這意味着Activity不會被銷燬。所以,當我點擊啓動器圖標時,它應該恢復HomeActivity,而不是它重新創建splashActivity。但是當我從後臺啓動應用程序時,活動恢復並且不顯示啓動畫面。 這是正確的行爲嗎?如果是這樣,那麼我沒有得到onDestroy()
的回調。
下面是清單我的活動代碼:
<activity
android:name="com.app.ui.HomeActivity"
android:label="@string/app_name"
android:launchMode="singleTask"
android:configChanges="orientation|keyboard|keyboardHidden|screenSize|screenLayout|uiMode"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustNothing">
</activity>
<activity
android:name="com.app.ui.SplashActivity"
android:label="@string/app_name"
android:screenOrientation="sensorPortrait"
android:theme="@android:style/Theme.Translucent.NoTitleBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
我沒有任何啓動模式設置爲SplashActivity
。一段時間後,它變得適當,並且不顯示啓動畫面。
此外,當我從後臺啓動應用程序或按回按鈕,然後單擊應用程序圖標時,不會再現此錯誤。只有當我點擊啓動器圖標,將應用程序保留在後臺並在一段時間後,它纔會變得適當。
此外,當我沒有更新安裝應用程序,這個問題沒有發生。只有當我更新的APK,出現這種情況
爲什麼發生這種情況在初始launches..Is它在Android中的錯誤..?如果是這樣,如何避免這個問題..
,我認爲同樣的。可能是我錯了,但這是我觀察到的。一段時間後,它可以正常工作。如果設備內核正在殺死這個進程,那麼它應該每次都是正確的。爲什麼只在最初的啓動階段。這是我對此感到困惑的地方。 –