我不希望我的应用程序在按下Activity
按钮时显示很少的SplashScreenActivity
(例如back
)。因此,我在noHistory=true
中使用了Manifest.xml
来表示该Activity
,如下所示:
<activity
android:name="com.gokul.SplashScreenActivity"
android:noHistory="true" >
</activity>
除了设置
noHistory
之外,我还可以在自己的finish()
方法中或需要的任何地方调用SplashActivity.onPause()
,如下所示:@Override
protected void onPause() {
super.onPause();
finish();
}
两者都能完美地完成工作。但是,使用
noHistory
或调用finish()
哪个更好? 最佳答案
onPause()
根本不是为您的 Activity 调用finish()
的好地方。可以出于多种原因调用onPause()
,并且我怀疑您的用户会很高兴看到,例如,如果他们关闭屏幕然后再打开,他们所做的任何事情都会被您的应用程序忘记了。noHistory
应该可以为您服务,但是您可以在启动新finish()
后立即在Activity
中调用Activity
来获得类似的行为。但是,noHistory
最终更易于维护,因为如果稍后在finish()
中添加另一个startActivity()
调用,您最终可能会忘记包括SplashActivity
调用。
关于android - noHistory vs finish()-哪个是首选?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21374897/