在实际开发中遇到,顺序不同引发被启动的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](http://stackoverflow.com/questions/4182761/finish-old-activity-and-start-a-new-one-or-vice-versa) 顺序没关系,但是我遇到的问题确实发生了,请教大神不是跟顺序有关系吗?
Activity
biaomingzhong commentedon May 16, 2017
发现顺序的不同的时候,在小米手机上的转场动画不一样,出现问题的测试机只有7.0以上的小米,其他如6.0三星、4.4华为、4.3魅族顺序都没有关系,是否跟小米的转场有关
Dkaishu commentedon Sep 16, 2017
从 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
A-10ng commentedon Sep 9, 2020
区别:
finish();
startActivity(newActivity);
在转场时会出现白屏动画
startActivity(newActivity);
finish();
则不会
参数:
测试机:华为畅享9
Android版本:9
compileSdkVersion 29
buildToolsVersion "29.0.3"
minSdkVersion 21
targetSdkVersion 29