android-discuss icon indicating copy to clipboard operation
android-discuss copied to clipboard

[讨论]启动新界面和结束当前界面,调用finish startActivity的顺序有关系吗?

Open biaomingzhong opened this issue 8 years ago • 3 comments

在实际开发中遇到,顺序不同引发被启动的activity有遮罩层一样的问题,修改成先finish就不会了

finish();
startActivity(newActivity);

或者

startActivity(newActivity);
finish();

虽然,在stackoverflow上有人指出 http://stackoverflow.com/questions/4182761/finish-old-activity-and-start-a-new-one-or-vice-versa 顺序没关系,但是我遇到的问题确实发生了,请教大神不是跟顺序有关系吗?

biaomingzhong avatar May 16 '17 10:05 biaomingzhong

发现顺序的不同的时候,在小米手机上的转场动画不一样,出现问题的测试机只有7.0以上的小米,其他如6.0三星、4.4华为、4.3魅族顺序都没有关系,是否跟小米的转场有关

biaomingzhong avatar May 16 '17 10:05 biaomingzhong

从 Activity A 进入到 Activity B,回调顺序是 onPause(A) -> onCreate(B) -> onStart(B) -> onResume(B) -> onStop(A)。然后你再结合这个问题看一下 https://stackoverflow.com/questions/10847526/what-exactly-activity-finish-method-is-doing

Dkaishu avatar Sep 16 '17 05:09 Dkaishu

区别: finish(); startActivity(newActivity); 在转场时会出现白屏动画

startActivity(newActivity); finish(); 则不会

参数: 测试机:华为畅享9 Android版本:9 compileSdkVersion 29 buildToolsVersion "29.0.3" minSdkVersion 21 targetSdkVersion 29

A-10ng avatar Sep 09 '20 03:09 A-10ng