在使用给定流程在 Android 设备中安装应用程序时,我发现 Android 应用程序存在非常奇怪的错误。
从 playstore(旧版本)安装应用程序。
启动了应用程序(现在我在 HomeScreen,.ie,
HomeActivity
)。现在,我通过安装最新版本升级了应用程序(在生产版本中,尚未发布到 Playstore)。
单击启动器图标,等待主屏幕可见,然后按菜单按钮将应用程序保持在后台。
现在,通过单击启动器图标启动应用程序。
在这种情况下,Splash Screen( Activity
) 会启动,然后将我带到主屏幕。在日志中,呼叫转到onStop()
HomeActivity。这意味着 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 时,才会发生这种情况
为什么会在初始启动时发生这种情况..它是 android 中的错误..?如果是这样,如何避免这个问题..