Skip to content

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

@biaomingzhong

Description

@biaomingzhong

在实际开发中遇到,顺序不同引发被启动的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 顺序没关系,但是我遇到的问题确实发生了,请教大神不是跟顺序有关系吗?

Activity

biaomingzhong

biaomingzhong commented on May 16, 2017

@biaomingzhong
Author

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

Dkaishu

Dkaishu commented on Sep 16, 2017

@Dkaishu

从 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

A-10ng commented on Sep 9, 2020

@A-10ng

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

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

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @biaomingzhong@Dkaishu@A-10ng

        Issue actions

          [讨论]启动新界面和结束当前界面,调用finish startActivity的顺序有关系吗? · Issue #618 · android-cn/android-discuss