Android AMS——Activity Pause(八)

        在前面的文章《Android AMS——ATMS解析(四)》中,介绍了 Activity 的启动流程,其中调用到 Task.resumeTopActivityInnerLocked() 时,会先调用 startPausingLocked 暂停前一个 Activity,在启动新的 Activity。 这里我们就看以下 Activity 的暂停流程。

一、Activity暂停流程

1、Task 

源码位置:/frameworks/base/services/core/java/com/android/server/wm/Task.java

resumeTopActivityInnerLocked

final ActivityTaskSupervisor mTaskSupervisor;
 
private boolean resumeTopActivityInnerLocked(ActivityRecord prev, ActivityOptions options,
        boolean deferPause) {
    ……
    if (mResumedActivity != null) {
        // 将activity onPause
        pausing |= startPausingLocked(false /* uiSleeping */, next, "resumeTopActivityInnerLocked");
    }
 
    if (next.attachedToP

猜你喜欢

转载自blog.csdn.net/c19344881x/article/details/133340413
今日推荐