Activity 的启动过程深入学习

手机应用也是一个app,每一个应用的icon都罗列在Launcher上,点击icon触发onItemClick事件。

我们要启动「淘宝」这个App,首先我们要在清单文件定义默认启动的Activity信息。

 <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

然后Launcher获取到该信息之后,启动淘宝App

 //该应用的包名
            String pkg = info.activityInfo.packageName;
            //应用的主activity类
            String cls = info.activityInfo.name;

            ComponentName componet = new ComponentName(pkg, cls);

            Intent i = new Intent();
            i.setComponent(componet);
            startActivity(i);

启动Activity的过程,实际上是Activity通过Binder与Activity大管家ActivityManagerService(AMS)多次通讯,才能启动App。

--------------------- 本文来自 凶残的程序员 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/qian520ao/article/details/78156214?utm_source=copy 

原文地址:https://www.cnblogs.com/Jackie-zhang/p/9752614.html