Android系统默认Home应用程序(Launcher)的启动过程源代

Android系统默认Home应用程序(Launcher)的启动过程源代

ID:41006049

大小:271.08 KB

页数:20页

时间:2019-08-13

Android系统默认Home应用程序(Launcher)的启动过程源代_第1页
Android系统默认Home应用程序(Launcher)的启动过程源代_第2页
Android系统默认Home应用程序(Launcher)的启动过程源代_第3页
Android系统默认Home应用程序(Launcher)的启动过程源代_第4页
Android系统默认Home应用程序(Launcher)的启动过程源代_第5页
资源描述:

《Android系统默认Home应用程序(Launcher)的启动过程源代》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、在前面一篇文章中,我们分析了Android系统在启动时安装应用程序的过程,这些应用程序安装好之后,还需要有一个Home应用程序来负责把它们在桌面上展示出来,在Android系统中,这个默认的Home应用程序就是Launcher了,本文将详细分析Launcher应用程序的启动过程。     Android系统的Home应用程序Launcher是由ActivityManagerService启动的,而ActivityManagerService和PackageManagerService一样,都是在开机时由SystemServer组件启动的,

2、SystemServer组件首先是启动ePackageManagerServic,由它来负责安装系统的应用程序,具体可以参考前面一篇文章Android应用程序安装过程源代码分析,系统中的应用程序安装好了以后,SystemServer组件接下来就要通过ActivityManagerService来启动Home应用程序Launcher了,Launcher在启动的时候便会通过PackageManagerServic把系统中已经安装好的应用程序以快捷图标的形式展示在桌面上,这样用户就可以使用这些应用程序了,整个过程如下图所示:点击查看大图    

3、 下面详细分析每一个步骤。     Step1.SystemServer.main     这个函数定义在frameworks/base/services/java/com/android/server/SystemServer.java文件中,具体可以参考前面一篇文章Android应用程序安装过程源代码分析的Step1。     Step2. SystemServer.init1     这个函数是一个JNI方法,实现在 frameworks/base/services/jni/com_android_server_SystemServ

4、er.cpp文件中,具体可以参考前面一篇文章Android应用程序安装过程源代码分析的Step2。     Step3. libsystem_server.system_init     函数system_init实现在libsystem_server库中,源代码位于frameworks/base/cmds/system_server/library/system_init.cpp文件中,具体可以参考前面一篇文章Android应用程序安装过程源代码分析的Step3。     Step4. AndroidRuntime.callStatic

5、     这个函数定义在frameworks/base/core/jni/AndroidRuntime.cpp文件中,具体可以参考前面一篇文章Android应用程序安装过程源代码分析的Step4。     Step5. SystemServer.init2     这个函数定义在frameworks/base/services/java/com/android/server/SystemServer.java文件中,具体可以参考前面一篇文章Android应用程序安装过程源代码分析的Step5。     Step6. ServerThrea

6、d.run     这个函数定义在frameworks/base/services/java/com/android/server/SystemServer.java文件中,具体可以参考前面一篇文章Android应用程序安装过程源代码分析的Step6。     Step7.ActivityManagerService.main     这个函数定义在frameworks/base/services/java/com/android/server/am/ActivityManagerServcie.java文件中:viewplain1.pu

7、blic final class ActivityManagerService extends ActivityManagerNative  2.        implements Watchdog.Monitor, BatteryStatsImpl.BatteryCallback {  3.    ......  4.  5.    public static final Context main(int factoryTest) {  6.        AThread thr = new AThread();  7.       

8、 thr.start();  8.  9.        synchronized (thr) {  10.            while (thr.mService == null) {

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。