Android Activity启动流程

关于启动流程,过程相对复杂,本文只写最重要的一段代码?其他代码,读者自己分析。

参考文章:Activity启动流程

ActivityStackSupervisor.java


方法名:startSpecificActivityLocked

void startSpecificActivityLocked(ActivityRecord r,

        boolean andResume, boolean checkConfig) {

// Is this activity's application already running?

    ProcessRecord app =mService.getProcessRecordLocked(r.processName,

            r.info.applicationInfo.uid, true);

    r.getStack().setLaunchTime(r);

//如果参在该进程,

    if (app !=null && app.thread !=null) {

try {

if ((r.info.flags&ActivityInfo.FLAG_MULTIPROCESS) ==0

                    || !"android".equals(r.info.packageName)) {

// Don't add this if it is a platform component that is marked

// to run in multiple processes, because this is actually

// part of the framework so doesn't make sense to track as a

// separate apk in the process.

                app.addPackage(r.info.packageName, r.info.applicationInfo.versionCode,

                        mService.mProcessStats);

            }

realStartActivityLocked(r, app, andResume, checkConfig);

return;

        }catch (RemoteException e) {

Slog.w(TAG, "Exception when starting activity "

                    + r.intent.getComponent().flattenToShortString(), e);

        }

// If a dead object exception was thrown -- fall through to

// restart the application.

    }

//不存在该进程,就创建一个进程。

mService.startProcessLocked(r.processName, r.info.applicationInfo, true, 0,

            "activity", r.intent.getComponent(), false, false, true);

}



最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文重点介绍应用程序的启动过程,应用程序的启动过程实际上就是应用程序中的默认Activity的启动过程,本文将详细...
    天宇sonny阅读 436评论 1 0
  • 1 进程启动过程 Android应用程序框架层创建的应用程序进程具有两个特点,一是进程的入口函数是Activit...
    Kevin_Junbaozi阅读 3,947评论 0 23
  • 每天一篇系列:强化知识体系,查漏补缺。欢迎指正,共同学习! 在上一篇文章< >中,已经分析了一个应用进程是如何分裂...
    Young_Allen阅读 1,363评论 0 1
  • 妈妈,小狗的皮肤破了, 你快帮他治疗吧! 妈妈,你的针会不会扎疼它? 缝住了,它就不会疼了是吗? 妈妈,你把它给我...
    孟夏闰月闻麦香阅读 471评论 0 7
  • 没事儿别感冒,感冒别打鼾。 - - - - - -Noansal
    三个远方阅读 266评论 0 0