我有一个处理自动登录的启动画面。如果用户已登录,则会通过以下代码将s / he直接发送到主活动:
Intent intent = new Intent(activity, MainActivity.class);
activity.startActivity(intent);
activity.finish();
活动是要完成的活动(我没有使用this
,因为这种方法在自动登录,手动登录,社交登录等方面很常见。)
然而,大约70%的时间,在完成主要活动后,闪屏仍然存在。在调试期间不会发生这种情况。看起来它很快就会发生,这就是为什么它在调试过程中可能永远不会发生的原因(因为一切都变慢了)。
记录帮助我看到,当问题发生时finish()
确实被调用,但onDestroy()
不是。
我尝试了FLAG_ACTIVITY_CLEAR_TOP
,但它没有帮助。 noHistory
确实有用,但带来了不需要的完成动画,而且,我真的想知道这段代码的问题是什么。我一直都在使用它,不知道它失败的原因。
提前致谢。